public void Good_Post_Create() { // Arrange var sauceViewModel = new SauceViewModel() { Name = "Ostry", Price = 2.00M }; var sauce = new Sauce() { Name = "Ostry", Price = 2.00M }; var validator = new ModelValidator <SauceViewModel>(sauceViewModel); var service = Substitute.For <ISauceRepository>(); var mapper = Substitute.For <IMapper>(); var controller = new SauceController(service, mapper); mapper.Map <SauceViewModel, Sauce>(sauceViewModel).Returns(sauce); service.Insert(sauce); service.Save(); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Create(sauceViewModel) as RedirectToRouteResult; var actionName = result.RouteValues.Values.ElementAt(0); // Assert Assert.That(result, !Is.Null); Assert.That("Index", Is.EqualTo(actionName)); Assert.That(valid, Is.True); }
public void Post_Edit_Model_Is_Null() { // Arrange var id = -1; Sauce sauce = null; var sauceViewModel = new SauceViewModel() { ID = id, Name = "Ostry", Price = 2.00M }; var service = Substitute.For <ISauceRepository>(); var mapper = Substitute.For <IMapper>(); var validator = new ModelValidator <SauceViewModel>(sauceViewModel); var controller = new SauceController(service, mapper); service.Get(id).Returns(sauce); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Edit(sauceViewModel) as HttpNotFoundResult; var statusCode = result.StatusCode; // Assert Assert.That(result, !Is.Null); Assert.That(valid, Is.True); Assert.That(404, Is.EqualTo(statusCode)); }
public void Post_Edit_Is_Not_Valid() { // Arrange var sauceViewModel = new SauceViewModel() { ID = 1, //Name = "Ostry", Price = 2.00M }; var service = Substitute.For <ISauceRepository>(); var mapper = Substitute.For <IMapper>(); var controller = new SauceController(service, mapper); var validator = new ModelValidator <SauceViewModel>(sauceViewModel); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Edit(sauceViewModel) as RedirectToRouteResult; var actionName = result.RouteValues.Values.ElementAt(0); var tempData = controller.TempData["ModelIsNotValid"]; // Assert Assert.That(result, !Is.Null); Assert.That(valid, Is.False); Assert.That("Wystąpił błąd w formularzu, spróbuj ponownie.", Is.EqualTo(tempData)); Assert.That("Index", Is.EqualTo(actionName)); }
public ActionResult Create([Bind(Exclude = "ID")] SauceViewModel sauceViewModel) { if (!ModelState.IsValid) { TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie."; return(RedirectToAction("Index")); } var sauce = _mapper.Map <SauceViewModel, Sauce>(sauceViewModel); _repository.Insert(sauce); _repository.Save(); return(RedirectToAction("Index")); }
public ActionResult Edit(SauceViewModel sauceViewModel) { if (!ModelState.IsValid) { TempData["ModelIsNotValid"] = "Wystąpił błąd w formularzu, spróbuj ponownie."; return(RedirectToAction("Index")); } var sauce = _repository.Get(sauceViewModel.ID); if (sauce == null) { return(HttpNotFound()); } var result = _mapper.Map <SauceViewModel, Sauce>(sauceViewModel, sauce); _repository.Update(result); _repository.Save(); return(RedirectToAction("Index")); }
public void Good_Post_Edit() { // Arrange var sauce = new Sauce() { ID = 1, Name = "Ostry", Price = 2.00M }; var sauceViewModel = new SauceViewModel() { ID = 1, Name = "Ostry", Price = 2.00M }; var service = Substitute.For <ISauceRepository>(); var mapper = Substitute.For <IMapper>(); var validator = new ModelValidator <SauceViewModel>(sauceViewModel); var fakeController = new FakeController(); var controller = new SauceController(service, mapper); fakeController.PrepareFakeAjaxRequest(); controller.ControllerContext = fakeController.GetControllerContext <SauceController>(new RouteData(), controller); service.Get(sauce.ID).Returns(sauce); mapper.Map <SauceViewModel, Sauce>(sauceViewModel).Returns(sauce); service.Update(sauce); service.Save(); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Edit(sauceViewModel) as RedirectToRouteResult; var actionName = result.RouteValues.Values.ElementAt(0); var ajaxRequest = controller.Request.IsAjaxRequest(); // Assert Assert.That(result, !Is.Null); Assert.That("Index", Is.EqualTo(actionName)); Assert.That(ajaxRequest, Is.True); Assert.That(valid, Is.True); }
public void Good_Get_Edit() { // Arrange var id = 1; var sauce = new Sauce() { ID = id, Name = "Ostry", Price = 2.00M }; var sauceViewModel = new SauceViewModel() { ID = id, Name = "Ostry", Price = 2.00M }; var service = Substitute.For <ISauceRepository>(); var mapper = Substitute.For <IMapper>(); var fakeController = new FakeController(); var controller = new SauceController(service, mapper); fakeController.PrepareFakeAjaxRequest(); controller.ControllerContext = fakeController.GetControllerContext <SauceController>(new RouteData(), controller); service.Get(id).Returns(sauce); mapper.Map <Sauce, SauceViewModel>(sauce).Returns(sauceViewModel); // Act var result = controller.Edit(id) as PartialViewResult; var viewName = result.ViewName; var model = result.Model; var ajaxRequest = controller.Request.IsAjaxRequest(); // Assert Assert.That(result, !Is.Null); Assert.That("_EditPartial", Is.EqualTo(viewName)); Assert.That(ajaxRequest, Is.True); Assert.That(model, !Is.Null); }
public void Get_Edit_Not_Ajax_Request() { // Arrange var id = 1; var sauce = new Sauce() { ID = id, Name = "Ostry", Price = 2.00M }; var sauceViewModel = new SauceViewModel() { ID = id, Name = "Ostry", Price = 2.00M }; var service = Substitute.For <ISauceRepository>(); var mapper = Substitute.For <IMapper>(); var fakeController = new FakeController(); var controller = new SauceController(service, mapper); fakeController.PrepareFakeRequest(); controller.ControllerContext = fakeController.GetControllerContext <SauceController>(new RouteData(), controller); service.Get(id).Returns(sauce); mapper.Map <Sauce, SauceViewModel>(sauce).Returns(sauceViewModel); // Act var result = controller.Edit(id) as RedirectToRouteResult; var actionName = result.RouteValues.Values.ElementAt(0); var ajaxRequest = controller.Request.IsAjaxRequest(); // Assert Assert.That(result, !Is.Null); Assert.That("Index", Is.EqualTo(actionName)); Assert.That(ajaxRequest, Is.False); }