Exemplo n.º 1
0
        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");
        }