public void Delete_Post_ReturnsViewIfModelStateIsNotValid() { // Arrange var controller = new CausaleController(new InMemoryCausaleRepository()); controller.ModelState.AddModelError("", "error message"); Causale oCausale = GetCausale(1, ""); // Act var result = controller.Delete(oCausale); // Assert Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); var vc = new ValidationContext(oCausale, null, null) { MemberName = "Descrizione" }; var validationResults = new List<ValidationResult>(); // Validate only the zip code. bool isValidDescrizione = Validator.TryValidateProperty(oCausale.Descrizione, vc, validationResults); Assert.IsFalse(isValidDescrizione); // Validate the whole Customer entity. bool isValidCausale = Validator.TryValidateObject(oCausale, vc, validationResults, true); Assert.IsFalse(isValidCausale); RedirectToRouteResult routeResult = result as RedirectToRouteResult; Assert.AreEqual(routeResult.RouteValues["action"], "Index"); }