public void Get_Edit_Model_Is_Null() { // Arrange var id = 1; Salad salad = null; var service = Substitute.For <ISaladRepository>(); var mapper = Substitute.For <IMapper>(); var controller = new SaladController(service, mapper); service.Get(id).Returns(salad); // Act var result = controller.Edit(id) as HttpNotFoundResult; var statusCode = result.StatusCode; // Assert Assert.That(result, !Is.Null); Assert.That(404, Is.EqualTo(statusCode)); }
public void Good_Post_Edit() { // Arrange var salad = new Salad() { ID = 1, Name = "Greco", Price = 14.00M, }; var saladViewModel = new SaladViewModel() { ID = 1, Name = "Greco", Price = 14.00M, }; var service = Substitute.For <ISaladRepository>(); var mapper = Substitute.For <IMapper>(); var validator = new ModelValidator <SaladViewModel>(saladViewModel); var fakeController = new FakeController(); var controller = new SaladController(service, mapper); fakeController.PrepareFakeAjaxRequest(); controller.ControllerContext = fakeController.GetControllerContext <SaladController>(new RouteData(), controller); service.Get(salad.ID).Returns(salad); mapper.Map <SaladViewModel, Salad>(saladViewModel).Returns(salad); service.Update(salad); service.Save(); // Act var valid = validator.IsValid(); validator.AddToModelError(controller); var result = controller.Edit(saladViewModel) 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 salad = new Salad() { ID = id, Name = "Greco", Price = 14.00M, }; var saladViewModel = new SaladViewModel() { ID = id, Name = "Greco", Price = 14.00M, }; var service = Substitute.For <ISaladRepository>(); var mapper = Substitute.For <IMapper>(); var fakeController = new FakeController(); var controller = new SaladController(service, mapper); fakeController.PrepareFakeAjaxRequest(); controller.ControllerContext = fakeController.GetControllerContext <SaladController>(new RouteData(), controller); service.Get(id).Returns(salad); mapper.Map <Salad, SaladViewModel>(salad).Returns(saladViewModel); // 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 salad = new Salad() { ID = id, Name = "Greco", Price = 14.00M, }; var saladViewModel = new SaladViewModel() { ID = id, Name = "Greco", Price = 14.00M, }; var service = Substitute.For <ISaladRepository>(); var mapper = Substitute.For <IMapper>(); var fakeController = new FakeController(); var controller = new SaladController(service, mapper); fakeController.PrepareFakeRequest(); controller.ControllerContext = fakeController.GetControllerContext <SaladController>(new RouteData(), controller); service.Get(id).Returns(salad); mapper.Map <Salad, SaladViewModel>(salad).Returns(saladViewModel); // 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); }