public void CreerMembre_IDCarteRegistreNationalException() { // Arrange var context = InitializeContext(); var idCarte = new CreerMembreRequete.IDCarte { Nom = "Test", Prenom = "Test", DateExpiration = new DateTime(2030, 7, 29), DateValidation = new DateTime(2017, 7, 29), DateNaissance = new DateTime(1995, 7, 29), RegistreNational = "123", NumeroCarte = 1111 }; var requete = new CreerMembreRequete() { Email = "*****@*****.**", CarteIdentite = idCarte }; InjectClassFor(context); // Act Action action = () => ClassUnderTest.CreerMembre(requete); // Assert action .Should() .ThrowExactly <CustomBadRequestException>() .WithMessage(MessageErreur.FormatRegistreNationalInvalide); }
public void CreerMembre_AgeMinimumException() { // Arrange var context = InitializeContext(); var idCarte = new CreerMembreRequete.IDCarte { Nom = "Test", Prenom = "Test", DateValidation = new DateTime(2018, 7, 29), DateNaissance = new DateTime(2004, 7, 29), DateExpiration = new DateTime(2030, 7, 29), RegistreNational = "95.07.19-111.26", NumeroCarte = 1111 }; var requete = new CreerMembreRequete() { Email = "*****@*****.**", CarteIdentite = idCarte }; InjectClassFor(context); // Act Action action = () => ClassUnderTest.CreerMembre(requete); // Assert action .Should() .ThrowExactly <CustomBadRequestException>() .WithMessage(MessageErreur.AgeMinimumRequis); }
public void CreerMembre_EmailEtTelException() { // Arrange var requete = new CreerMembreRequete() { }; // Act Action action = () => ClassUnderTest.CreerMembre(requete); // Assert action .Should() .ThrowExactly <CustomBadRequestException>() .WithMessage(MessageErreur.EmailEtTelephoneNonInvalide); }
public void CreerMembre_EmailFormatException() { // Arrange var requete = new CreerMembreRequete() { Email = "jade" }; // Act Action action = () => ClassUnderTest.CreerMembre(requete); // Assert action .Should() .ThrowExactly <CustomBadRequestException>() .WithMessage(MessageErreur.FormatEmailInvalide); }
public void CreerMembre_Success() { // Arrange var context = InitializeContext(); var idCarte = new CreerMembreRequete.IDCarte { Nom = "Test", Prenom = "Test", DateValidation = new DateTime(2018, 7, 29), DateNaissance = new DateTime(2000, 7, 29), DateExpiration = new DateTime(2030, 7, 29), RegistreNational = "95.07.19-111.26", NumeroCarte = 1111 }; var requete = new CreerMembreRequete() { Email = "*****@*****.**", CarteIdentite = idCarte }; InjectClassFor(context); // Act var result = ClassUnderTest.CreerMembre(requete); // Assert result .Email .Should() .Be("*****@*****.**"); result .CarteIdentites .First() .RegistreNational .Should() .Be("95.07.19-111.26"); }
public Core.Domaines.Membre CreerMembre(CreerMembreRequete requete) { if (requete == null) { throw new CustomBadRequestException(MessageErreur.RequeteNull); } if (String.IsNullOrEmpty(requete.Telephone) && String.IsNullOrEmpty(requete.Email)) { throw new CustomBadRequestException(MessageErreur.EmailEtTelephoneNonInvalide); } if (!String.IsNullOrEmpty(requete.Email)) { string pattern = @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z"; var regexMatch = Regex.Match(requete.Email, pattern); if (!regexMatch.Success) { throw new CustomBadRequestException(MessageErreur.FormatEmailInvalide); } } if (!String.IsNullOrEmpty(requete.Telephone)) { string pattern = @"^0[0-9]{9}$"; var regexMatch = Regex.Match(requete.Telephone, pattern); if (!regexMatch.Success) { throw new CustomBadRequestException(MessageErreur.FormatTelephoneInvalide); } } var idCarteExistant = _context.IDCartes.SingleOrDefault(x => x.RegistreNational == requete.CarteIdentite.RegistreNational); if (idCarteExistant != null) { throw new CustomNotFoundException(MessageErreur.RegistreNationalDejaExistant); } var nouvelleIDCarte = new IDCarte { Nom = requete.CarteIdentite.Nom, Prenom = requete.CarteIdentite.Nom, DateNaissance = requete.CarteIdentite.DateNaissance, RegistreNational = requete.CarteIdentite.RegistreNational, DateValidation = requete.CarteIdentite.DateValidation, DateExpiration = requete.CarteIdentite.DateExpiration, NumeroCarte = requete.CarteIdentite.NumeroCarte }; ValidationCarteIdentite(nouvelleIDCarte); var nouvelleCarteMembre = new MembreCarte { Code = Guid.NewGuid().ToString(), IsActive = true }; var nouveauMembre = new Core.Domaines.Membre { Email = requete.Email, Telephone = requete.Telephone, IsBlacklister = false, DebutDateBlacklister = new DateTime(), FinDateBlacklister = new DateTime(), CarteIdentites = new List <IDCarte>() { nouvelleIDCarte }, MembreCartes = new List <MembreCarte>() { nouvelleCarteMembre } }; _context.Membres.Add(nouveauMembre); _context.SaveChanges(); return(nouveauMembre); }
public ActionResult CreateMember([FromBody] CreerMembreRequete requete) { var membre = _membreService.CreerMembre(requete); return(Ok(membre)); }