public virtual ActionResult Save(ContentViewModel viewModel) { if (ModelState.IsValid) { var content = Mapper.Map<Content.Content>(viewModel); RavenSession.Store(content); return PartialView("Success"); } return PartialView("Failure"); }
public void Save_IsNotValid_ReturnsFailureView() { //Arrange var controller = new ContentController { RavenSession = _documentStore.OpenSession() }; var viewModel = new ContentViewModel { Id = "Slogan", Body = "My content view model" }; controller.ModelState.AddModelError("Body", "Body is too long"); //Act var result = (PartialViewResult)controller.Save(viewModel); //Assert result.ViewName.ShouldBe("Failure"); }
public void Save_IsNotValid_DoesNotStore() { //Arrange var controller = new ContentController { RavenSession = _documentStore.OpenSession() }; var viewModel = new ContentViewModel { Id = "Slogan", Body = "My content view model" }; controller.ModelState.AddModelError("Body", "Body is too long"); //Act var result = controller.Save(viewModel); controller.RavenSession.SaveChanges(); //Assert using (var session = _documentStore.OpenSession()) { var content = session.Load<Content.Content>("Slogan"); Assert.IsNull(content); } }
public void Save_IsValid_ReturnsSuccessView() { //Arrange var controller = new ContentController { RavenSession = _documentStore.OpenSession() }; var viewModel = new ContentViewModel { Id = "Slogan", Body = "My content view model" }; //Act var result = (PartialViewResult)controller.Save(viewModel); //Assert result.ViewName.ShouldBe("Success"); }
public void Save_IsValid_StoresInDatabase() { //Arrange var controller = new ContentController { RavenSession = _documentStore.OpenSession() }; var viewModel = new ContentViewModel {Id = "Slogan", Body = "My content view model"}; //Act controller.Save(viewModel); controller.RavenSession.SaveChanges(); //Assert using (var session = _documentStore.OpenSession()) { var content = session.Load<Content.Content>("Slogan"); Assert.AreEqual("Slogan", content.Id); Assert.AreEqual("My content view model", content.Body); } }