Example #1
0
        public void Unsubscribe()
        {
            Subscription subscription = CreateSubscriptionData("*****@*****.**");
            var          mockDbSet    = GetMockDbSet(subscription);
            var          mockContext  = new Mock <NewsletterContext>();

            mockContext.Setup(m => m.Subscriptions).Returns(mockDbSet.Object);

            SubscriptionRepository repository        = new SubscriptionRepository(mockContext.Object);
            NewsletterService      newsletterService = new NewsletterService(repository);

            SubscriptionRequest request = new SubscriptionRequest();

            request.Subscription = subscription;
            SubscriptionResponse response = newsletterService.Unsubscribe(request);

            mockDbSet.Verify(m => m.Remove(It.IsAny <Subscription>()), Times.Once());
            mockContext.Verify(m => m.SaveChanges(), Times.Once());
            Assert.AreEqual(response.Status, StatusCode.Success);
            Assert.IsNull(response.Subscription);
        }