public ActionResult Create(CreatePostViewModel model) { if (!ModelState.IsValid) return View(model); var entity = mapper.Map<Post>(model); repository.Save(entity); return RedirectToAction("Create"); }
public void CreateReturnsInvalidPostWithModelErrors() { var incompleteModel = new CreatePostViewModel(); controller.ModelState.AddModelError("", "mock error message"); var response = (ViewResult)controller.Create(incompleteModel); Assert.That(response.ViewData.ModelState.IsValid, Is.False); }
public void CreateSavesValidPostToRepository() { var model = new CreatePostViewModel(); var entity = new Post(); Mock.Get(mapper).Setup(m => m.Map<Post>(It.IsAny<CreatePostViewModel>())).Returns(entity); var response = (RedirectToRouteResult)controller.Create(model); Mock.Get(mapper).Verify(m => m.Map<Post>(model)); Mock.Get(repository).Verify(r => r.Save(entity)); Assert.That(response.RouteValues["action"], Is.EqualTo("Create")); }