Пример #1
0
        public async Task SetsArticleToDeletedWhenFound()
        {
            var article        = new ArticleFixture().Build();
            var contextFixture = new MockBlogApiDbContextFixture()
                                 .With(article, article.Id);

            var mock = contextFixture.Mock;

            var fixture = new DeleteArticleCoordinatorFixture
            {
                Context = contextFixture.Build()
            };

            var coordinator = fixture.Build();

            Assert.False(article.IsDeleted);
            Assert.Null(article.Deleted);

            var deleteResult = await coordinator.TryDeleteArticle(article.Id);

            Assert.True(deleteResult);
            Assert.True(article.IsDeleted);
            Assert.NotNull(article.Deleted);

            mock.Verify(ctx => ctx.SaveChanges());
        }
Пример #2
0
        public async Task DoesNothingIfArticleAlreadyMarkedAsDeleted()
        {
            var article = new ArticleFixture
            {
                IsDeleted = true
            }.Build();

            var contextFixture = new MockBlogApiDbContextFixture()
                                 .With(article, article.Id);

            var mock = contextFixture.Mock;

            var fixture = new DeleteArticleCoordinatorFixture
            {
                Context = contextFixture.Build()
            };

            var coordinator = fixture.Build();

            Assert.True(article.IsDeleted);

            var deleteResult = await coordinator.TryDeleteArticle(article.Id);

            Assert.True(deleteResult);
            mock.Verify(ctx => ctx.SaveChanges(), Times.Never);
        }
Пример #3
0
        public async Task DoesNothingIfArticleNotFound()
        {
            var article        = new ArticleFixture().Build();
            var contextFixture = new MockBlogApiDbContextFixture();
            var mock           = contextFixture.Mock;

            var fixture = new DeleteArticleCoordinatorFixture
            {
                Context = contextFixture.Build()
            };

            var coordinator = fixture.Build();

            Assert.False(article.IsDeleted);
            Assert.Null(article.Deleted);

            var deleteResult = await coordinator.TryDeleteArticle(article.Id);

            Assert.False(deleteResult);
            Assert.False(article.IsDeleted);
            Assert.Null(article.Deleted);
            mock.Verify(ctx => ctx.SaveChanges(), Times.Never);
        }