public ActionResult BlacklisterMembre([FromRoute] int membreId, [FromBody] BlacklisterMembreRequete requete) { requete.MembreId = membreId; var membre = _membreService.BlacklisterMembre(requete); return(Ok(membre)); }
public void BlacklisterMembre_Success() { // Arrange var context = InitializeContext(); var membre = fixture.Build <Membre>().With(x => x.Id, 3).With(x => x.IsBlacklister, false).Create(); var requete = new BlacklisterMembreRequete { MembreId = 3, DebutDateBlacklister = new DateTime(2020, 10, 22), FinDateBlacklister = new DateTime(2021, 7, 29) }; context.Membres.Add(membre); context.SaveChanges(); InjectClassFor(context); // Act var result = ClassUnderTest.BlacklisterMembre(requete); // Assert result.Id .Should() .Be(3); result.IsBlacklister .Should() .Be(true); result.FinDateBlacklister .Should() .Be(new DateTime(2021, 7, 29)); }
public void BlacklisterMembre_DejaBlacklisterException() { // Arrange var context = InitializeContext(); var membre = fixture.Build <Membre>().With(x => x.Id, 1).With(x => x.IsBlacklister, true).Create(); var requete = new BlacklisterMembreRequete { MembreId = 1, DebutDateBlacklister = new DateTime(2020, 10, 22), FinDateBlacklister = new DateTime(2021, 7, 29) }; context.Membres.Add(membre); context.SaveChanges(); InjectClassFor(context); // Act Action action = () => ClassUnderTest.BlacklisterMembre(requete); // Assert action .Should() .ThrowExactly <CustomBadRequestException>() .WithMessage(MessageErreur.MembreDejaBlackliste); }
public void BlacklisterMembre_DateDebutBlacklistInferieurDateFinBlacklistException() { // Arrange var context = InitializeContext(); var membre = fixture.Build <Membre>().With(x => x.Id, 15).With(x => x.IsBlacklister, false).Create(); var requete = new BlacklisterMembreRequete { MembreId = 15, DebutDateBlacklister = new DateTime(2030, 10, 22), FinDateBlacklister = new DateTime(2030, 7, 29) }; context.Membres.Add(membre); InjectClassFor(context); // Act Action action = () => ClassUnderTest.BlacklisterMembre(requete); // Assert action .Should() .ThrowExactly <CustomBadRequestException>() .WithMessage(MessageErreur.DateBlacklistingInvalide); }
public void BlacklisterMembre_MembreInexistantException() { // Arrange var context = InitializeContext(); var requete = new BlacklisterMembreRequete { MembreId = 1, DebutDateBlacklister = new DateTime(2020, 10, 22), FinDateBlacklister = new DateTime(2021, 7, 29) }; InjectClassFor(context); // Act Action action = () => ClassUnderTest.BlacklisterMembre(requete); // Assert action .Should() .ThrowExactly <CustomNotFoundException>() .WithMessage(MessageErreur.MembreIntrouvable); }
public Core.Domaines.Membre BlacklisterMembre(BlacklisterMembreRequete requete) { if (requete == null) { throw new CustomBadRequestException(MessageErreur.RequeteNull); } if (DateTime.Compare(requete.DebutDateBlacklister, requete.FinDateBlacklister) > 0) { throw new CustomBadRequestException(MessageErreur.DateBlacklistingInvalide); } if (DateTime.Compare(requete.FinDateBlacklister, DateTime.Today) < 0) { throw new CustomBadRequestException(MessageErreur.DateFinBlacklistInferieur); } var membreBlacklister = _context.Membres.SingleOrDefault(x => x.Id == requete.MembreId); if (membreBlacklister == null) { throw new CustomNotFoundException(MessageErreur.MembreIntrouvable); } if (membreBlacklister.IsBlacklister) { throw new CustomBadRequestException(MessageErreur.MembreDejaBlackliste); } membreBlacklister.IsBlacklister = true; membreBlacklister.DebutDateBlacklister = requete.DebutDateBlacklister; membreBlacklister.FinDateBlacklister = requete.FinDateBlacklister; _context.Membres.Update(membreBlacklister); _context.SaveChanges(); return(membreBlacklister); }