public void ActivateAd_ActivationTokenDoesNotWork_ReturnModelIsActivatedFalse() { // Given BaseAd ad = new Ad() { IsActivated = false, ActivationToken = "AAA" }; long adId = 78; var repoMock = new Moq.Mock <IRepository>(); repoMock.Setup(x => x.Get <BaseAd>(adId)).Returns(ad); AdActivationServices service = new AdActivationServices(repoMock.Object, null, null, null); // When AdActivationResultModel model = service.ActivateAd(adId, "BBB"); // Then Assert.IsFalse(model.IsActivated); Assert.AreEqual(78, model.AdId); Assert.AreEqual("Vous ne pouvez pas activer cette annonce.", model.InfoMessage); repoMock.Verify(x => x.Save(ad), Moq.Times.Never()); repoMock.Verify(x => x.Save(Moq.It.IsAny <SearchAdCache>()), Moq.Times.Never()); }
public void ActivateAd_AdIsAlreadyActivated_ReturnModelIsActivatedTrue() { // Given BaseAd ad = new Ad() { IsActivated = true }; long adId = 78; var repoMock = new Moq.Mock <IRepository>(); repoMock.Setup(x => x.Get <BaseAd>(adId)).Returns(ad); AdActivationServices service = new AdActivationServices(repoMock.Object, null, null, null); // When AdActivationResultModel model = service.ActivateAd(78, null); // Then Assert.IsTrue(model.IsActivated); Assert.AreEqual(78, model.AdId); Assert.AreEqual("Cette annonce a déjà été activée.", model.InfoMessage); repoMock.Verify(x => x.Save(ad), Moq.Times.Never()); repoMock.Verify(x => x.Save(Moq.It.IsAny <SearchAdCache>()), Moq.Times.Never()); }
public void ActivateAd_ActivationTokenWorks_ReturnModelIsActivatedTrueAndActivatesAd() { // Given BaseAd ad = new Ad() { IsActivated = false, ActivationToken = "AAA", City = new City(), Category = new Category() }; long adId = 78; var repoMock = new Moq.Mock <IRepository>(); repoMock.Setup(x => x.Get <BaseAd>(adId)).Returns(ad); AdActivationServices service = new AdActivationServices(repoMock.Object, null, null, null); // When AdActivationResultModel model = service.ActivateAd(78, "AAA"); // Then Assert.IsTrue(model.IsActivated); Assert.AreEqual(78, model.AdId); Assert.AreEqual("Merci d'avoir activé votre annonce.", model.InfoMessage); repoMock.Verify(x => x.Save(ad), Moq.Times.Once()); repoMock.Verify(x => x.Save(Moq.It.IsAny <SearchAdCache>()), Moq.Times.Once()); }
public AdActivationResultModel ActivateAd(long adId, String activationToken) { AdActivationResultModel model = new AdActivationResultModel(); model.AdId = adId; BaseAd adToValidate = _repository.Get <BaseAd>(adId); if (adToValidate == null) { model.InfoMessage = "Cette annonce n'existe pas ou a expiré."; model.IsActivated = false; return(model); } if (adToValidate.IsActivated) { model.InfoMessage = "Cette annonce a déjà été activée."; model.IsActivated = true; return(model); } if (!adToValidate.ActivationToken.Equals(activationToken)) { model.InfoMessage = "Vous ne pouvez pas activer cette annonce."; model.IsActivated = false; return(model); } // Actually activate the ad using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew)) { adToValidate.IsActivated = true; _repository.Save(adToValidate); SearchAdCache searchAdCache = new SearchAdCache(adToValidate); _repository.Save(searchAdCache); _repository.Flush(); scope.Complete(); } model.InfoMessage = "Merci d'avoir activé votre annonce."; model.IsActivated = true; return(model); }
public void ActivateAd_AdDoesNotExist_ReturnModelIsActivatedFalse() { // Given BaseAd ad = null; var repoMock = new Moq.Mock <IRepository>(); repoMock.Setup(x => x.Get <BaseAd>(78)).Returns(ad); AdActivationServices service = new AdActivationServices(repoMock.Object, null, null, null); // When AdActivationResultModel model = service.ActivateAd(78, null); // Then Assert.IsFalse(model.IsActivated); Assert.AreEqual(78, model.AdId); Assert.AreEqual("Cette annonce n'existe pas ou a expiré.", model.InfoMessage); repoMock.Verify(x => x.Save(ad), Moq.Times.Never()); repoMock.Verify(x => x.Save(Moq.It.IsAny <SearchAdCache>()), Moq.Times.Never()); }