public void ShouldThrowExceptionWhenGetCommentsByUserFails() { _commentsRepository = new Mock<ICommentRepository>(); _commentsRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Comment, bool>>>(), It.IsAny<Func<IQueryable<Comment>, IOrderedQueryable<Comment>>>(), It.IsAny<string>())) .Throws(new Exception()); _userRepository = new Mock<IUserRepository>(); _commentsLogic = new CommentsLogic(_commentsRepository.Object, _userRepository.Object); Assert.Throws<BlogException>(() => _commentsLogic.GetByUser(1)); }
public void ShouldGetCommentsByUser() { var expected = _comments.Where(a => a.UserId == 1).ToList(); _commentsRepository = new Mock<ICommentRepository>(); _commentsRepository.Setup(a => a.Find(It.IsAny<Expression<Func<Comment, bool>>>(), It.IsAny<Func<IQueryable<Comment>, IOrderedQueryable<Comment>>>(), It.IsAny<string>())) .Returns(expected); _userRepository = new Mock<IUserRepository>(); _commentsLogic = new CommentsLogic(_commentsRepository.Object, _userRepository.Object); var results = _commentsLogic.GetByUser(1); Assert.NotNull(results); Assert.AreEqual(3, results.Count); Assert.AreEqual(1, results[0].User.Id); Assert.AreEqual(1, results[1].User.Id); Assert.AreEqual(1, results[2].User.Id); }