Пример #1
0
        public void NullableProperty_ValidatesAndSetsMessage()
        {
            var validator = new TestValidatorForNullableProperties();

            var em = new CreateEmployeeRequest
            {
                NullableNumber = 2
            };

            var validationResult = validator.Validate(em);

            var validationFailure = validationResult.ValidationFailures.ToList()[0];

            Assert.That(validationResult.IsValid, Is.False);
            Assert.That(validationFailure.FieldName, Is.EqualTo("NullableNumber"));
            Assert.That(validationFailure.ValidationMessages.ToList()[0], Is.EqualTo("The value of NullableNumber must be greater than or equal to 3"));
        }
Пример #2
0
        public void WithMessage_SetsValidationMessage()
        {
            var validator = new TestValidator();

            var em = new CreateEmployeeRequest
            {
                FirstName   = "",
                EmployeeID  = 1,
                DateOfBirth = DateTime.Now.AddMonths(-1)
            };

            var validatorResult   = validator.Validate(em);
            var validationFailure = validatorResult.ValidationFailures.First();

            Assert.That(validatorResult.IsValid, Is.False);
            Assert.That(validationFailure.FieldName, Is.EqualTo("EmployeeID"));
            Assert.That(validationFailure.ValidationMessages.First(), Is.EqualTo("Message"));
        }
Пример #3
0
        public void WhenForDependentRule_DependRuleNotAppliedWhenIdLessThenZero()
        {
            var validator = new TestValidatorWithWhenForDependendRule();

            var em = new CreateEmployeeRequest
            {
                Id          = -1,
                FirstName   = "a",
                LastName    = "a",
                EmployeeID  = 1,
                DateOfBirth = DateTime.Now.AddMonths(-1)
            };

            var validationResult = validator.Validate(em);
            var enumerable       = validationResult.ValidationFailures.Select(x => string.Format(x.FieldName + " - " + string.Join(",", x.ValidationMessages)));

            Console.WriteLine(string.Join(",", enumerable));
            Assert.That(validationResult.IsValid, Is.True);
        }
Пример #4
0
        public void Validate_IntPropertyEmpty_SetDefaultValitationMessage()
        {
            var validator = new TestValidator2();

            var entity = new CreateEmployeeRequest
            {
                FirstName   = "asdf",
                EmployeeID  = 1,
                DateOfBirth = DateTime.Now.AddMonths(1)
            };

            var validationResult  = validator.Validate(entity);
            var validationFailure = validationResult.ValidationFailures.First();

            Assert.That(validationFailure.FieldName, Is.EqualTo("EmployeeID"));
            Assert.That(
                validationFailure.ValidationMessages.First(),
                Is.EqualTo("The value of EmployeeID must be greater than 3"));
        }
Пример #5
0
        public void DependantRule_ValidatesAndSetsMessage()
        {
            var validator = new DependentRuleTestValidator();

            var em = new CreateEmployeeRequest
            {
                Id          = -10,
                FirstName   = "qwer",
                EmployeeID  = 1,
                DateOfBirth = DateTime.Now.AddMonths(-1)
            };

            var validationResult = validator.Validate(em);

            var validationFailure = validationResult.ValidationFailures.ToList()[0];

            Assert.That(validationResult.IsValid, Is.False);
            Assert.That(validationFailure.FieldName, Is.EqualTo("FirstName"));
            Assert.That(validationFailure.ValidationMessages.ToList()[0], Is.EqualTo("Id should be more than zero"));
        }
Пример #6
0
        public void WhenForDependentRule_FirstNameShouldBeEqualToLastName_IfIdGreateThenZero()
        {
            var validator = new TestValidatorWithWhenForDependendRule();

            var em = new CreateEmployeeRequest
            {
                Id          = 2,
                FirstName   = "a",
                LastName    = "a",
                EmployeeID  = 1,
                DateOfBirth = DateTime.Now.AddMonths(-1)
            };

            var validationResult = validator.Validate(em);

            var message = validationResult.ValidationFailures.ToArray()[0].ValidationMessages.First();

            Assert.That(validationResult.IsValid, Is.False);

            Assert.That(message, Is.EqualTo("Depend Rule not passed"));
        }
Пример #7
0
        public void Validate_DateTimePropertyEmpty_ValitationError()
        {
            var validator = new TestValidator();


            var entity = new CreateEmployeeRequest
            {
                FirstName   = "asdf",
                EmployeeID  = 4,
                DateOfBirth = DateTime.Now.AddMonths(1)
            };

            var validationResult  = validator.Validate(entity);
            var validationFailure = validationResult.ValidationFailures.First();

            Assert.That(validationResult.IsValid, Is.False);
            Assert.That(validationFailure.FieldName, Is.EqualTo("DateOfBirth"));
            Assert.That(
                validationFailure.ValidationMessages.First(),
                Is.EqualTo("The property DateOfBirth must be less than today"));
        }