[TestMethod] public void EditAction_Should_Redirect_When_Update_Successful() { // Arrange var controller = CreateDinnersControllerAs("SomeUser"); var formValues = new FormCollection() { { "Title", "Another value" }, { "Description", "Another description" } }; controller.ValueProvider = formValues.ToValueProvider(); // Act var result = controller.Edit(1, formValues) as RedirectToRouteResult; // Assert Assert.AreEqual("Details", result.RouteValues["Action"]); } [TestMethod] public void EditAction_Should_Redisplay_With_Errors_When_Update_Fails() { // Arrange var controller = CreateDinnersControllerAs("SomeUser"); var formValues = new FormCollection() { { "EventDate", "Bogus date value!!!"} }; controller.ValueProvider = formValues.ToValueProvider(); // Act var result = controller.Edit(1, formValues) as ViewResult; // Assert Assert.IsNotNull(result, "Expected redisplay of view"); Assert.IsTrue(result.ViewData.ModelState.Count > 0, "Expected errors"); }