public List <BlogPost> GetPostsByTagID(int id) { var posts = _repo.GetBlogPostsByTag(id); foreach (var post in posts) { post.CategoryName = _repo.GetCategoryByPostID(post.PostID); post.BlogTags = new List <Tag>(); var tagList = _repo.GetTagsByPostID(post.PostID); if (tagList != null) { foreach (var tag in tagList) { post.BlogTags.Add(tag); } } } // copied loop to remove timed out posts foreach (var post in posts) { post.CategoryName = _repo.GetCategoryByPostID(post.PostID); // checks to see if PublishDate is after today, or if ExpirationDate is before today if (post.PublishDate.HasValue && DateTime.Compare(post.PublishDate.Value, DateTime.Now) > 0) { posts.Remove(post); break; } if (post.ExpirationDate.HasValue && DateTime.Compare(post.ExpirationDate.Value, DateTime.Now) < 0) { posts.Remove(post); break; } } return(posts); }
public void GetBlogPostsByTag(int tagID, int expected) { var result = repo.GetBlogPostsByTag(tagID).Count; Assert.AreEqual(result, expected); }