public void VerifyInactiveToActiveUpdateTriggersSubscribeEvent() { var originalSubscription = new NewsLetterSubscription { Active = false, Email = "*****@*****.**" }; tempNewsLetterSubscriptionRepository = new Mock <IRepository <NewsLetterSubscription> >(); { tempNewsLetterSubscriptionRepository.SetupAllProperties(); tempNewsLetterSubscriptionRepository.Setup(x => x.GetById(It.IsAny <string>())).Returns(originalSubscription); _newsLetterSubscriptionRepository = tempNewsLetterSubscriptionRepository.Object; } var service = new NewsLetterSubscriptionService( _newsLetterSubscriptionRepository, _customerRepository, _eventPublisher, _customerService); var subscription = new NewsLetterSubscription { Active = true, Email = "*****@*****.**" }; service.UpdateNewsLetterSubscription(subscription, true); //call method tempEventPublisher.Object.Publish(new EmailSubscribedEvent(subscription.Email)); //verify call tempEventPublisher.Verify(x => x.Publish(new EmailSubscribedEvent(subscription.Email))); }
public void VerifyEmailUpdateTriggersUnsubscribeAndSubscribeEvent() { //Prepare the original result var originalSubscription = new NewsLetterSubscription { Active = true, Email = "*****@*****.**", StoreId = 1 }; _subscriptionRepository.Stub(m => m.GetById(Arg <object> .Is.Anything)).Return(originalSubscription); var subscription = new NewsLetterSubscription { Active = true, Email = "*****@*****.**", StoreId = 1 }; _newsLetterSubscriptionService.UpdateNewsLetterSubscription(subscription, true); _eventPublisher.AssertWasCalled(x => x.Publish(new EmailUnsubscribedEvent(originalSubscription.Email))); _eventPublisher.AssertWasCalled(x => x.Publish(new EmailSubscribedEvent(subscription.Email))); }
public void VerifyUpdateEventIsFired() { //Prepare the original result var originalSubscription = new NewsLetterSubscription { Active = false, Email = "*****@*****.**" }; _newsLetterSubscriptionRepository.Stub(m => m.GetById(Arg <object> .Is.Anything)).Return(originalSubscription); var service = new NewsLetterSubscriptionService(_dbContext, _newsLetterSubscriptionRepository, _customerRepository, _eventPublisher, _customerService); service.UpdateNewsLetterSubscription(new NewsLetterSubscription { Email = "*****@*****.**" }); _eventPublisher.AssertWasCalled(x => x.EntityUpdated(Arg <NewsLetterSubscription> .Is.Anything)); }
public void VerifyInactiveToActiveUpdateTriggersSubscribeEvent() { //Prepare the original result var originalSubscription = new NewsLetterSubscription { Active = false, Email = "*****@*****.**" }; _newsLetterSubscriptionRepository.Stub(m => m.GetById(Arg <object> .Is.Anything)).Return(originalSubscription); var service = new NewsLetterSubscriptionService(_dbContext, _newsLetterSubscriptionRepository, _customerRepository, _eventPublisher, _customerService); var subscription = new NewsLetterSubscription { Active = true, Email = "*****@*****.**" }; service.UpdateNewsLetterSubscription(subscription, true); _eventPublisher.AssertWasCalled(x => x.Publish(new EmailSubscribedEvent(subscription.Email))); }
public void VerifyUpdateEventIsFired() { var eventPublisher = MockRepository.GenerateStub <IEventPublisher>(); var repo = MockRepository.GenerateStub <IRepository <NewsLetterSubscription> >(); var context = MockRepository.GenerateStub <IDbContext>(); //Prepare the original result var originalSubscription = new NewsLetterSubscription { Active = false, Email = "*****@*****.**" }; repo.Stub(m => m.GetById(Arg <object> .Is.Anything)).Return(originalSubscription); var service = new NewsLetterSubscriptionService(context, repo, eventPublisher); service.UpdateNewsLetterSubscription(new NewsLetterSubscription { Email = "*****@*****.**" }); eventPublisher.AssertWasCalled(x => x.EntityUpdated(Arg <NewsLetterSubscription> .Is.Anything)); }
public void VerifyInactiveToActiveUpdateTriggersSubscribeEvent() { var eventPublisher = MockRepository.GenerateStub <IEventPublisher>(); var repo = MockRepository.GenerateStub <IRepository <NewsLetterSubscription> >(); var context = MockRepository.GenerateStub <IDbContext>(); //Prepare the original result var originalSubscription = new NewsLetterSubscription { Active = false, Email = "*****@*****.**" }; repo.Stub(m => m.GetById(Arg <object> .Is.Anything)).Return(originalSubscription); var subscription = new NewsLetterSubscription { Active = true, Email = "*****@*****.**" }; var service = new NewsLetterSubscriptionService(context, repo, eventPublisher); service.UpdateNewsLetterSubscription(subscription, true); eventPublisher.AssertWasCalled(x => x.Publish(new EmailSubscribedEvent(subscription.Email))); }