Ejemplo n.º 1
0
        public async Task AddNewsletterSubscription_ShouldNotAdd_Existing()
        {
            // Arrange
            var logMock            = new Mock <ILogger <NewsletterService> >();
            var fakeContextOptions = new DbContextOptionsBuilder <FakeNewsletterSubDbContext>()
                                     .UseInMemoryDatabase(databaseName: "AddNewsletterSubscription_ShouldNotAdd_Existing")
                                     .Options;

            using (var fakeContext = new FakeNewsletterSubDbContext(fakeContextOptions))
            {
                var service = new NewsletterService(fakeContext, logMock.Object);

                await service.AddNewsletterSubscription(_contact.Email, _newsletterSubscription.ChannelName, _contact.FirstName, _contact.LastName);
            }

            // Act
            using (var fakeContext = new FakeNewsletterSubDbContext(fakeContextOptions))
            {
                var service = new NewsletterService(fakeContext, logMock.Object);

                await service.AddNewsletterSubscription(_contact.Email, _newsletterSubscription.ChannelName, _contact.FirstName, _contact.LastName);
            }

            // Assert
            using (var fakeContext = new FakeNewsletterSubDbContext(fakeContextOptions))
            {
                Assert.AreEqual(1, fakeContext.Contacts.Count());
                Assert.AreEqual(1, fakeContext.NewsletterSubscriptions.Count());
            }
        }
Ejemplo n.º 2
0
        public async Task RemoveNewsletterSubscription_SubscriptionDoesntExist_ShouldReturnFalse()
        {
            // Arrange
            var logMock            = new Mock <ILogger <NewsletterService> >();
            var fakeContextOptions = new DbContextOptionsBuilder <FakeNewsletterSubDbContext>()
                                     .UseInMemoryDatabase(databaseName: "RemoveNewsletterSubscription_SubscriptionDoesntExist_ShouldReturnFalse")
                                     .Options;

            using var actFakeContext = new FakeNewsletterSubDbContext(fakeContextOptions);
            actFakeContext.Contacts.Add(new Contact()
            {
                Email = _contact.Email
            });
            await actFakeContext.SaveChangesAsync();

            // Act
            var result = await new NewsletterService(actFakeContext, logMock.Object)
                         .RemoveNewsletterSubscription(_contact.Email, _newsletterSubscription.ChannelName);

            // Assert
            using var assertFakeContext = new FakeNewsletterSubDbContext(fakeContextOptions);
            Assert.AreEqual(1, assertFakeContext.Contacts.Count());
            Assert.AreEqual(0, assertFakeContext.NewsletterSubscriptions.Count());
            Assert.IsFalse(result);
        }