public void ShouldReturnEmptyListWhenGetPopularPostsFoundNoRecords() { _postRepository = new Mock<IPostRepository>(); _postRepository.Setup(a => a.GetPopular(It.IsAny<Expression<Func<Post, bool>>>(), It.IsAny<int>())) .Returns(new List<Post>()); _postContentRepository = new Mock<IPostContentRepository>(); _mediaRepository = new Mock<IMediaRepository>(); _postsLogic = new PostsLogic(_postRepository.Object, _postContentRepository.Object, _mediaRepository.Object); var result = _postsLogic.GetPopularPosts(5); Assert.AreEqual(0, result.Count); }
public void ShouldThrowExceptionWhenGetPopularPostsFailsOnPostsLookup() { _postRepository = new Mock<IPostRepository>(); _postRepository.Setup(a => a.GetPopular(It.IsAny<Expression<Func<Post, bool>>>(), It.IsAny<int>())) .Throws(new Exception()); _postContentRepository = new Mock<IPostContentRepository>(); _mediaRepository = new Mock<IMediaRepository>(); _postsLogic = new PostsLogic(_postRepository.Object, _postContentRepository.Object, _mediaRepository.Object); Assert.Throws<BlogException>(() => _postsLogic.GetPopularPosts(5)); }
public void ShouldGetPopularPosts() { var post = new Post { PostId = 1, PostLikes = _postLikes.Where(a => a.PostId == 1).ToList(), PostContents = _postContents.Where(a => a.PostId == 1).ToList(), Tags = _tags.Where(a => a.TagId != 3).ToList(), PostTitle = "Foo", PostMessage = "Lorem Ipsum Dolor", UserId = 1, User = new User { UserId = 1, UserName = "******" } }; _postRepository = new Mock<IPostRepository>(); _postRepository.Setup(a => a.GetPopular(It.IsAny<Expression<Func<Post, bool>>>(), It.IsAny<int>())) .Returns(new List<Post> { post }); var postContents = _postContents.Where(a => a.PostId == 1).ToList(); _postContentRepository = new Mock<IPostContentRepository>(); _postContentRepository.Setup(a => a.Find(It.IsAny<Expression<Func<PostContent, bool>>>(), true)) .Returns(postContents); _mediaRepository = new Mock<IMediaRepository>(); _mediaRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Media, bool>>>(), false)) .Returns(new List<Media> { new Media { MediaId = 1 } }); _postsLogic = new PostsLogic(_postRepository.Object, _postContentRepository.Object, _mediaRepository.Object); var result = _postsLogic.GetPopularPosts(5); Assert.AreEqual(1, result.Count); }