public ArticleExtensionsTest() { // Get the articles in the test database _articles = Context.Articles.ToList(); _articleTags = _articles.SelectMany(a => a.ArticleTags).ToList(); // Instantiate and map the view models _articleViewModel = new ArticleViewModel { Article = Mapper.Map <ArticleDto>(_articles.First()) }; _articleViewModelList = new ArticleViewModelList { Articles = Mapper.Map <IEnumerable <ArticleDto> >(_articles) }; // Assert the article structure is correct _articleViewModel.ShouldNotBeNull(); _articleViewModel.Article.ShouldNotBeNull(); _articleViewModel.Article.Author.Username.ShouldBe("joey.mckenzie"); _articleViewModelList.ShouldNotBeNull(); _articleViewModelList.Articles.ShouldNotBeEmpty(); _articleViewModelList.ArticlesCount.ShouldBe(2); }
public static void SetViewModelProperties(this ArticleViewModelList articleViewModelList, IList <Article> articles, ConduitUser user, IList <ArticleTag> articleTags) { foreach (var article in articleViewModelList.Articles) { // Retrieve the corresponding article var mappedArticleEntity = articles.FirstOrDefault(a => string.Equals(a.Title, article.Title, StringComparison.OrdinalIgnoreCase)); SetFavoritedFollowingAndArticleTags(article, mappedArticleEntity, user, articleTags); } }