public async Task GetHiddenReviewsForProductIdandUserId_ShouldNotFound() { var mock = new Mock <IReviewService>(MockBehavior.Strict); mock.Setup(repo => repo.GetReviewListAsync(10, 10, true, false)).ReturnsAsync(null as List <ReviewDto>).Verifiable(); var controller = new ReviewController(mock.Object); var result = await controller.GetHiddenReviewListAsync(10, 10); Assert.IsNotNull(result); var controllerResult = result as NotFoundResult; Assert.IsNotNull(controllerResult); mock.Verify(); mock.Verify(repo => repo.GetReviewListAsync(10, 10, true, false), Times.Once); }
public async Task GetHiddenReviewsForProductIdandUserId_ShouldOk() { List <ReviewDto> testReviewDtos = new List <ReviewDto> { new ReviewDto { reviewId = 5, productId = 5, userId = 4, userName = "******", reviewRating = 1, reviewContent = "Just no", hidden = true } }; var mock = new Mock <IReviewService>(MockBehavior.Strict); mock.Setup(repo => repo.GetReviewListAsync(5, 4, true, false)).ReturnsAsync(testReviewDtos).Verifiable(); var controller = new ReviewController(mock.Object); var result = await controller.GetHiddenReviewListAsync(5, 4); Assert.IsNotNull(result); var controllerResult = result as OkObjectResult; Assert.IsNotNull(controllerResult); var reviewsResult = controllerResult.Value as IEnumerable <ReviewDto>; Assert.IsNotNull(reviewsResult); Assert.IsTrue(reviewsResult.All(r => r.userId == 4 && r.productId == 5)); var reviewsList = reviewsResult.ToList(); Assert.AreEqual(testReviewDtos.Count, reviewsList.Count); for (int i = 0; i < testReviewDtos.Count; ++i) { Assert.AreEqual(testReviewDtos[i].reviewId, reviewsList[i].reviewId); Assert.AreEqual(testReviewDtos[i].productId, reviewsList[i].productId); Assert.AreEqual(testReviewDtos[i].userId, reviewsList[i].userId); Assert.AreEqual(testReviewDtos[i].userName, reviewsList[i].userName); Assert.AreEqual(testReviewDtos[i].reviewRating, reviewsList[i].reviewRating); } mock.Verify(); mock.Verify(repo => repo.GetReviewListAsync(5, 4, true, false), Times.Once); }