예제 #1
0
        public async Task Add_TestArticle_MapsCorrectly()
        {
            var domainObject = _testArticle;

            using (var articleContext = CreateDbContext())
            {
                ArticleRepository repo = new ArticleRepository(articleContext);
                await repo.AddAsync(domainObject);

                await articleContext.SaveChangesAsync();
            }

            using (var assertContext = CreateDbContext())
            {
                ArticleModel storedModel = await assertContext.ArticleModels.Include(a => a.ArticleTags).FirstOrDefaultAsync(a => a.Id == _testArticle.Id);

                Assert.NotNull(storedModel);
                Assert.Equal(_testArticleTitle, storedModel.Title);
                Assert.Equal(_testContent, storedModel.Content);
                Assert.Equal(_testPublishTime, storedModel.PublishTime);
                Assert.Equal(_testTagIds, storedModel.ArticleTags.Select(at => at.TagId));
                Assert.Equal(_testImageLocation, storedModel.Thumbnail.Location);
                Assert.Equal(_testImageAltText, storedModel.Thumbnail.AltText);
            }
        }