public void AddReviewTest() { // Arrange var fakeRepo = new FakeReviewRepository(); var controller = new BookController(fakeRepo); var review = new Review() { BookTitle = "Grapes of Wrath", AuthorName = "Salinger", Reviewer = new User() { Name = "Me" }, ReviewText = "Never actually read it" }; // Act controller.Review(review); // Assert // Ensure that the review was added to the repository var retrievedReview = fakeRepo.Reviews.ToList()[0]; Assert.Equal(System.DateTime.Now.Date.CompareTo(retrievedReview.ReviewDate.Date), 0); }
public async Task GetReviewDetailsTest_Success() { //Arrange var httpClient = SetupMock(); var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var id = 1; //Act var result = await controller.Details(id); //Assert var objResult = result.Result as OkObjectResult; Assert.IsNotNull(objResult); var retResult = objResult.Value as ReviewDetailsDto; Assert.IsNotNull(retResult); Assert.AreEqual(TestData.Reviews()[id - 1].Id, retResult.Id); Assert.AreEqual(TestData.Reviews()[id - 1].PurchaseId, retResult.PurchaseId); Assert.AreEqual(TestData.Reviews()[id - 1].IsVisible, retResult.IsVisible); Assert.AreEqual(TestData.Reviews()[id - 1].Rating, retResult.Rating); Assert.AreEqual(TestData.Reviews()[id - 1].Content, retResult.Content); } }
public async Task GetReviewProductTest_Success() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var prodId = 1; // Act var result = await controller.GetReviewProduct(prodId); // Assert Assert.IsNotNull(result); var objResult = result.Result as OkObjectResult; Assert.IsNotNull(objResult); var retResult = objResult.Value as List <Review>; Assert.IsNotNull(retResult); //foreach (Review review in retResult) //{ // Assert.AreEqual(await repo.GetReview(review.Id), review); //} } }
public async Task ProductAverageTest_OneReview() { //Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var prodId = 3; //Act var result = await controller.ProductAverage(prodId); var expected = await controller.GetReviewProduct(prodId); //Assert var objResult = result.Result as OkObjectResult; Assert.IsNotNull(objResult); var retResult = objResult.Value; Assert.IsNotNull(retResult); double val = TestData.Reviews().FirstOrDefault(r => r.Purchase.Id == prodId).Rating; Assert.AreEqual(val, retResult); } }
private void SetFakeRepo(CustomerModel customer) { fakeRepo = new FakeReviewRepository { Customer = customer }; }
public async Task DeleteGet_Success() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var id = 1; // Act var result = await controller.Delete(id) as ViewResult; // Assert Assert.IsNotNull(result); var review = result.Model as Review; Assert.IsNotNull(review); var expected = TestData.Reviews().FirstOrDefault(r => r.Id == id); Assert.AreEqual(expected.Id, review.Id); Assert.AreEqual(expected.Content, review.Content); Assert.AreEqual(expected.IsVisible, review.IsVisible); Assert.AreEqual(expected.PurchaseId, review.PurchaseId); Assert.AreEqual(expected.Rating, review.Rating); } }
public async Task CreateGet_Success() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var id = 1; // Act var result = await controller.Create(id); // Assert Assert.IsNotNull(result); var review = result as ViewResult; Assert.IsNotNull(review); var purchase = review.ViewData["purchase"]; var actual = purchase as PurchaseDto; var tgt = TestData.Purchases().FirstOrDefault(p => p.Id == id); Assert.AreEqual(tgt.Id, actual.Id); Assert.AreEqual(tgt.AccountId, actual.AccountId); Assert.AreEqual(tgt.AddressId, actual.AddressId); Assert.AreEqual(tgt.OrderStatus, actual.OrderStatus); Assert.AreEqual(tgt.ProductId, actual.ProductId); Assert.AreEqual(tgt.Qty, actual.Qty); Assert.AreEqual(tgt.TimeStamp, actual.TimeStamp); } }
private void SetFakeRepo() { fakeRepo = new FakeReviewRepository { ReviewModel = reviewModel, Customer = customerRepoModel }; }
public async Task GetReviewDetailsTestAsync_Hidden() { //Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var id = 2; //Act var result = await controller.Details(id); //Assert Assert.IsInstanceOfType(result.Result, typeof(NotFoundResult)); } }
public async Task DeleteReview_OutOfBounds() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var reviewId = -5; // Act var result = await controller.DeleteConfirmed(reviewId); // Assert Assert.IsInstanceOfType(result, typeof(BadRequestResult)); } }
public async Task GetReviewProductTest_NotExists() { //Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var prodId = 370; //Act var result = await controller.GetReviewProduct(prodId); //Assert Assert.IsInstanceOfType(result.Result, typeof(NotFoundResult)); } }
public async Task IndexAccount_Null() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { // Act var result = await controller.IndexAccount(null); // Assert Assert.IsNotNull(result); var objResult = result as NotFoundResult; Assert.IsNotNull(objResult); } }
public async Task GetReviewProductTest_Hidden() { //Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var prodId = 2; //Act var result = await controller.GetReviewProduct(prodId); var expected = TestData.Reviews().Where(r => r.Purchase.ProductId == prodId && r.IsVisible).ToList(); //Assert Assert.IsInstanceOfType(result.Result, typeof(NotFoundResult)); } }
public async Task DeleteGet_NoReview() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var id = 360; // Act var result = await controller.Delete(id); // Assert Assert.IsNotNull(result); var objResult = result as NotFoundResult; Assert.IsNotNull(objResult); } }
public async Task CreateGet_OutOfRange() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var id = -9; // Act var result = await controller.Create(id); // Assert Assert.IsNotNull(result); var objResult = result as BadRequestObjectResult; Assert.IsNotNull(objResult); } }
public async Task Create_Success() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var review = new Review { Content = "This is a test review", PurchaseId = 63, Rating = 3 }; // Act var result = await controller.Create(review); // Assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(OkObjectResult)); } }
public async Task IndexAccount_Success() { // Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var id = 1; // Act var result = await controller.IndexAccount(id) as ViewResult; // Assert Assert.IsNotNull(result); var index = result.Model as List <ReviewAccountViewModel>; Assert.IsNotNull(index); foreach (var review in index) { var comp = TestData.Reviews().Select(r => new ReviewAccountViewModel { AccountId = r.Purchase.AccountId, Content = r.Content, Id = r.Id, IsVisible = r.IsVisible, ProductId = r.Purchase.ProductId, Purchase = r.Purchase, PurchaseId = r.PurchaseId, Rating = r.Rating }).FirstOrDefault(r => r.Id == review.Id); Assert.AreEqual(comp.AccountId, review.AccountId); Assert.AreEqual(comp.Content, review.Content); Assert.AreEqual(comp.Id, review.Id); Assert.AreEqual(comp.IsVisible, review.IsVisible); Assert.AreEqual(comp.ProductId, review.ProductId); Assert.AreEqual(comp.PurchaseId, review.PurchaseId); Assert.AreEqual(comp.Rating, review.Rating); } } }
public async Task ProductAverageTest_Hidden() { //Arrange var repo = new FakeReviewRepository(TestData.Reviews()); var purchaseRepo = new FakePurchaseService(TestData.Purchases()); using (var controller = new ReviewsController(repo, purchaseRepo, new NullLogger <ReviewsController>())) { var prodId = 1; //Act var result = await controller.ProductAverage(prodId); //Assert Assert.IsNotNull(result); var objResult = result.Result as OkObjectResult; Assert.IsNotNull(objResult); var res = objResult.Value; Assert.AreEqual(2.5, res); } }
private void SetFakeRepo() { fakeRepo = new FakeReviewRepository(); }