Example #1
0
        public void ValidateShouldReturnEmptyValidationResultWhenShouldValidateIsSetToFalse()
        {
            ControllerContext controllerContext = new ControllerContext {
                HttpContext = Substitute.For <HttpContextBase>()
            };

            string        propertyName     = LinqUtils.GetMemberName <TestModel, string>(x => x.Name);
            ModelMetadata propertyMetaData = GetModelMetaDataForProperty(typeof(TestModel), propertyName, () => new TestModel());
            IEntityValidationRule <TestModel>   entityValidationRule   = new TestModelValidator().EntityValidationRules[0];
            LaboPropertyValidator               laboPropertyValidator  = new LaboPropertyValidator(propertyMetaData, controllerContext, entityValidationRule, false);
            IEnumerable <ModelValidationResult> modelValidationResults = laboPropertyValidator.Validate(null);

            Assert.AreEqual(0, modelValidationResults.Count());
        }
Example #2
0
        public void ValidateShouldReturnValidationMessageWhenShouldValidateIsSetToTrue()
        {
            ControllerContext controllerContext = new ControllerContext {
                HttpContext = Substitute.For <HttpContextBase>()
            };

            string        propertyName     = LinqUtils.GetMemberName <TestModel, string>(x => x.Name);
            ModelMetadata propertyMetaData = GetModelMetaDataForProperty(typeof(TestModel), propertyName, () => new TestModel());
            IEntityValidationRule <TestModel> entityValidationRule  = new TestModelValidator().EntityValidationRules[0];
            LaboPropertyValidator             laboPropertyValidator = new LaboPropertyValidator(propertyMetaData, controllerContext, entityValidationRule, true);
            ModelValidationResult             modelValidationResult = laboPropertyValidator.Validate(null).First();

            Assert.AreEqual("'Name' must not be empty.", modelValidationResult.Message);
            Assert.AreEqual("Name", modelValidationResult.MemberName);
        }