public void TestReviewsCreate() { //Arrange FakeRestaurantRepository fakeRestaurantRepository = new FakeRestaurantRepository(); FakeReviewRepository fakeReviewRepository = new FakeReviewRepository(); ReviewsController controller = new ReviewsController(fakeRestaurantRepository, fakeReviewRepository); ReviewsCreateVM vm = new ReviewsCreateVM(fakeRestaurantRepository); string e2RestName = "McD"; //Act var result = controller.Create(vm) as ActionResult; var result2 = controller.Create(1) as ViewResult; var data2 = result2.Model as ReviewsCreateVM; //Assert Assert.IsNotNull(result); Assert.IsNotNull(result2); Assert.AreEqual(e2RestName, data2.Restaurants.First(x => x.ID == data2.Review.RestaurantID).Name); }
public ActionResult Create(ReviewsCreateVM vm) { try { if (ModelState.IsValid) // server-side validation { reviewRepository.Add(vm.Review); return(RedirectToAction("Index")); } else { return(View(ModelState)); } } catch (Exception e) { log.Error($"[Reviews Controller] [Create] Exception thrown: {e.Message}"); return(View()); } }
// GET: Reviews/Create public ActionResult Create(int?ID) { try { ReviewsCreateVM vm; if (ID == null) { vm = new ReviewsCreateVM(restaurantRepository); } else { vm = new ReviewsCreateVM((int)ID, restaurantRepository); } return(View(vm)); } catch (Exception e) { log.Error($"[Reviews Controller] [Create] Exception thrown: {e.Message}"); return(RedirectToAction("Index")); } }