예제 #1
0
        //Call the Web service and validate the result. if the result is not valid prepare the validation message.
        public async Task <GroupedPetResult> GetAsync(string petType)
        {
            var result  = new GroupedPetResult();
            var persons = await GetPersons();

            if (persons != null)
            {
                var validator        = new PersonListValidator();
                var validationResult = validator.Validate(persons);
                result.IsSuccess = validationResult.IsValid;

                if (validationResult.IsValid)
                {
                    result.Message       = "";
                    result.GroupedPetVms = GroupPets(persons, petType);
                }
                else
                {
                    result.Message = string.Join("\n", validationResult.Errors.Select(x => $"{x.PropertyName}: Error: {x.ErrorMessage}"));
                    Logger.Error($"Validation Error:-{result.Message}");
                    result.IsSuccess = false;
                }
            }
            return(result);
        }
예제 #2
0
        public void LengthyPetType()
        {
            var data = GetNormalTestPersons().ToList();

            data.FirstOrDefault().Pets.FirstOrDefault().Type = "ChrocodlieDinasourEagle";

            var validator        = new PersonListValidator();
            var validationResult = validator.Validate(data);

            // Assert
            Assert.IsFalse(validationResult.IsValid);
        }
예제 #3
0
        public void LengthyPetName()
        {
            var data = GetNormalTestPersons().ToList();

            data.FirstOrDefault().Pets.FirstOrDefault().Name = "Abcdefghijlmnopq123456";

            var validator        = new PersonListValidator();
            var validationResult = validator.Validate(data);

            // Assert
            Assert.IsFalse(validationResult.IsValid);
        }
예제 #4
0
        public void NullEmptyGender()
        {
            var data = GetNormalTestPersons().ToList();

            data.FirstOrDefault().Gender = string.Empty;

            var validator        = new PersonListValidator();
            var validationResult = validator.Validate(data);

            // Assert
            Assert.IsFalse(validationResult.IsValid);
        }
예제 #5
0
        public void NonAlphaNumericName()
        {
            var data = GetNormalTestPersons().ToList();

            data.FirstOrDefault().Name = "Ali1";

            var validator        = new PersonListValidator();
            var validationResult = validator.Validate(data);

            // Assert
            Assert.IsFalse(validationResult.IsValid);
        }
예제 #6
0
        public void LengthyName()
        {
            var data = GetNormalTestPersons().ToList();

            data.FirstOrDefault().Name = "Alighghfghfghfghgfhfghfdhfhfdhfhfghfhdfhfgh";

            var validator        = new PersonListValidator();
            var validationResult = validator.Validate(data);

            // Assert
            Assert.IsFalse(validationResult.IsValid);
        }