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)));
        }
Example #5
0
        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));
        }
Example #6
0
        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)));
        }