Пример #1
0
        public void DependentValidator_ShouldHaveRules()
        {
            var dependentValidator = new DependentValidator();

            dependentValidator.ShouldHaveValidationErrorFor(v => v.FirstName, null as string);
            dependentValidator.ShouldHaveValidationErrorFor(v => v.PersonType, Domain.Enums.PersonType.Employee);
        }
        public void TestGetDependentErrorPath()
        {
            var validator = new DependentValidator();
            var dependent = new TestDependent();
            var path      = validator.GetDependentErrorPath(dependent);

            Assert.AreEqual(dependent.PersonId, path.PersonDependentId);
        }
Пример #3
0
        public void DependentValidator_ShouldImplementAbstractValidator()
        {
            var dependentValidator = new DependentValidator();

            dependentValidator.ShouldBeAssignableTo <AbstractValidator <Person> >();
        }
Пример #4
0
 public void QueryValidator_Exists()
 {
     var queryValidator     = new QueryValidator();
     var employeeValidator  = new EmployeeValidator();
     var dependentValidator = new DependentValidator();
 }
        public void TestGetNameDelegate()
        {
            var state       = "TN";
            var mailAddress = new AddressDTO();

            mailAddress.Country    = LocationServiceAddressValidator.UNITED_STATES_COUNTRY_NAME;
            mailAddress.Division   = state;
            mailAddress.Street1    = "street1";
            mailAddress.PostalCode = "11111";

            var usAddress = new AddressDTO();

            usAddress.Country    = LocationServiceAddressValidator.UNITED_STATES_COUNTRY_NAME;
            usAddress.Division   = state;
            usAddress.Street1    = "street2";
            usAddress.PostalCode = "22222";

            string   birthCity              = "birth city";
            string   birthCountryCode       = "US";
            var      birthCountryReasonCode = USBornReasonType.Item01.ToString();
            DateTime birthDate              = DateTime.Now;
            string   citizenshipCountryCode = "UK";
            string   emailAddress           = "*****@*****.**";

            var firstName = "first";
            var lastName  = "last";
            var passport  = "passport";
            var preferred = "preferred";
            var suffix    = "Jr.";
            var fullName  = new FullName(firstName, lastName, passport, preferred, suffix);

            string gender = Gender.SEVIS_FEMALE_GENDER_CODE_VALUE;
            string permanentResidenceCountryCode = "FR";
            string phoneNumber  = "18505551212";
            string relationship = "relations";
            var    isTravelingWithParticipant = true;
            var    isDeleted = false;
            Func <AddedDependent> createEntity = () =>
            {
                return(new AddedDependent(
                           fullName: fullName,
                           birthCity: birthCity,
                           birthCountryCode: birthCountryCode,
                           birthCountryReasonCode: birthCountryReasonCode,
                           birthDate: birthDate,
                           citizenshipCountryCode: citizenshipCountryCode,
                           emailAddress: emailAddress,
                           gender: gender,
                           permanentResidenceCountryCode: permanentResidenceCountryCode,
                           phoneNumber: phoneNumber,
                           relationship: relationship,
                           mailAddress: mailAddress,
                           usAddress: usAddress,
                           printForm: true,
                           isTravelingWithParticipant: isTravelingWithParticipant,
                           personId: 10,
                           participantId: 20,
                           isDeleted: isDeleted));
            };

            var validator = new DependentValidator();
            var d         = validator.GetNameDelegate();

            Assert.AreEqual(string.Format("{0} {1}", fullName.FirstName, fullName.LastName), d(createEntity()));
        }
        public void TestShouldValidate_ShouldNotValidate()
        {
            var state       = "TN";
            var mailAddress = new AddressDTO();

            mailAddress.Country    = LocationServiceAddressValidator.UNITED_STATES_COUNTRY_NAME;
            mailAddress.Division   = state;
            mailAddress.Street1    = "street1";
            mailAddress.PostalCode = "11111";

            var usAddress = new AddressDTO();

            usAddress.Country    = LocationServiceAddressValidator.UNITED_STATES_COUNTRY_NAME;
            usAddress.Division   = state;
            usAddress.Street1    = "street2";
            usAddress.PostalCode = "22222";

            string   birthCity              = "birth city";
            string   birthCountryCode       = "US";
            var      birthCountryReasonCode = USBornReasonType.Item01.ToString();
            DateTime birthDate              = DateTime.Now;
            string   citizenshipCountryCode = "UK";
            string   emailAddress           = "*****@*****.**";

            var firstName = "first";
            var lastName  = "last";
            var passport  = "passport";
            var preferred = "preferred";
            var suffix    = "Jr.";
            var fullName  = new FullName(firstName, lastName, passport, preferred, suffix);

            string gender = Gender.SEVIS_FEMALE_GENDER_CODE_VALUE;
            string permanentResidenceCountryCode = "FR";
            string phoneNumber  = "18505551212";
            string relationship = DependentCodeType.Item01.ToString();
            var    isTravelingWithParticipant = true;
            var    isDeleted     = false;
            var    printForm     = true;
            var    sevisId       = "sevisId";
            var    remarks       = "remarks";
            var    personId      = 1;
            var    participantId = 2;
            Func <UpdatedDependent> createEntity = () =>
            {
                return(new UpdatedDependent(
                           fullName,
                           birthCity,
                           birthCountryCode,
                           birthCountryReasonCode,
                           birthDate,
                           citizenshipCountryCode,
                           emailAddress,
                           gender,
                           permanentResidenceCountryCode,
                           phoneNumber,
                           relationship,
                           mailAddress,
                           usAddress,
                           printForm,
                           sevisId,
                           remarks,
                           personId,
                           participantId,
                           isTravelingWithParticipant,
                           isDeleted
                           ));
            };

            var instance  = createEntity();
            var validator = new DependentValidator();
            var result    = validator.Validate(instance);

            Assert.IsTrue(result.IsValid);

            permanentResidenceCountryCode = "US";
            instance = createEntity();
            result   = validator.Validate(instance);
            Assert.IsFalse(result.IsValid);
            Assert.AreEqual(1, result.Errors.Count);

            isDeleted = true;
            permanentResidenceCountryCode = "US";
            instance = createEntity();
            result   = validator.Validate(instance);
            Assert.IsTrue(result.IsValid);
            Assert.AreEqual(0, result.Errors.Count);
        }
        public void TestPermanentResidenceCountryCode_Notsupported()
        {
            var state       = "TN";
            var mailAddress = new AddressDTO();

            mailAddress.Country    = LocationServiceAddressValidator.UNITED_STATES_COUNTRY_NAME;
            mailAddress.Division   = state;
            mailAddress.Street1    = "street1";
            mailAddress.PostalCode = "11111";

            var usAddress = new AddressDTO();

            usAddress.Country    = LocationServiceAddressValidator.UNITED_STATES_COUNTRY_NAME;
            usAddress.Division   = state;
            usAddress.Street1    = "street2";
            usAddress.PostalCode = "22222";

            string   birthCity              = "birth city";
            string   birthCountryCode       = "US";
            var      birthCountryReasonCode = USBornReasonType.Item01.ToString();
            DateTime birthDate              = DateTime.Now;
            string   citizenshipCountryCode = "UK";
            string   emailAddress           = "*****@*****.**";

            var firstName = "first";
            var lastName  = "last";
            var passport  = "passport";
            var preferred = "preferred";
            var suffix    = "Jr.";
            var fullName  = new FullName(firstName, lastName, passport, preferred, suffix);

            string gender = Gender.SEVIS_FEMALE_GENDER_CODE_VALUE;
            string permanentResidenceCountryCode = "FR";
            string phoneNumber  = "18505551212";
            string relationship = DependentCodeType.Item01.ToString();
            var    isTravelingWithParticipant = true;
            var    isDeleted = false;
            Func <AddedDependent> createEntity = () =>
            {
                return(new AddedDependent(
                           fullName: fullName,
                           birthCity: birthCity,
                           birthCountryCode: birthCountryCode,
                           birthCountryReasonCode: birthCountryReasonCode,
                           birthDate: birthDate,
                           citizenshipCountryCode: citizenshipCountryCode,
                           emailAddress: emailAddress,
                           gender: gender,
                           permanentResidenceCountryCode: permanentResidenceCountryCode,
                           phoneNumber: phoneNumber,
                           relationship: relationship,
                           mailAddress: mailAddress,
                           usAddress: usAddress,
                           printForm: true,
                           isTravelingWithParticipant: isTravelingWithParticipant,
                           personId: 10,
                           participantId: 20,
                           isDeleted: isDeleted));
            };

            var instance  = createEntity();
            var validator = new DependentValidator();
            var result    = validator.Validate(instance);

            Assert.IsTrue(result.IsValid);

            permanentResidenceCountryCode = "US";
            instance = createEntity();
            result   = validator.Validate(instance);
            Assert.IsFalse(result.IsValid);
            Assert.AreEqual(1, result.Errors.Count);
            Assert.AreEqual(
                String.Format(DependentValidator.PERMANENT_RESIDENCE_COUNTRY_NOT_SUPPORTED, permanentResidenceCountryCode, validator.GetPersonType(instance), validator.GetNameDelegate()(instance)),
                result.Errors.First().ErrorMessage);
            Assert.IsInstanceOfType(result.Errors.First().CustomState, typeof(DependentErrorPath));
        }
        public void TestGetPhoneNumberErrorPath()
        {
            var validator = new DependentValidator();

            Assert.IsInstanceOfType(validator.GetPhoneNumberErrorPath(new TestDependent()), typeof(DependentErrorPath));
        }
        public void TestGetPermanentResidenceCountryCodeErrorPath()
        {
            var validator = new DependentValidator();

            Assert.IsInstanceOfType(validator.GetPermanentResidenceCountryCodeErrorPath(new TestDependent()), typeof(DependentErrorPath));
        }
        public void TestBirthDate_Spouse_IsMoreThanMaxYearsOld()
        {
            var state       = "TN";
            var mailAddress = new AddressDTO();

            mailAddress.Country    = LocationServiceAddressValidator.UNITED_STATES_COUNTRY_NAME;
            mailAddress.Division   = state;
            mailAddress.Street1    = "street1";
            mailAddress.PostalCode = "11111";

            var usAddress = new AddressDTO();

            usAddress.Country    = LocationServiceAddressValidator.UNITED_STATES_COUNTRY_NAME;
            usAddress.Division   = state;
            usAddress.Street1    = "street2";
            usAddress.PostalCode = "22222";

            string   birthCity              = "birth city";
            string   birthCountryCode       = "US";
            var      birthCountryReasonCode = USBornReasonType.Item01.ToString();
            DateTime birthDate              = DateTime.Now;
            string   citizenshipCountryCode = "UK";
            string   emailAddress           = "*****@*****.**";

            var firstName = "first";
            var lastName  = "last";
            var passport  = "passport";
            var preferred = "preferred";
            var suffix    = "Jr.";
            var fullName  = new FullName(firstName, lastName, passport, preferred, suffix);

            string gender = Gender.SEVIS_FEMALE_GENDER_CODE_VALUE;
            string permanentResidenceCountryCode = "FR";
            string phoneNumber  = "18505551212";
            string relationship = DependentCodeType.Item01.ToString();
            var    isTravelingWithParticipant = true;
            var    isDeleted = false;
            Func <AddedDependent> createEntity = () =>
            {
                return(new AddedDependent(
                           fullName: fullName,
                           birthCity: birthCity,
                           birthCountryCode: birthCountryCode,
                           birthCountryReasonCode: birthCountryReasonCode,
                           birthDate: birthDate,
                           citizenshipCountryCode: citizenshipCountryCode,
                           emailAddress: emailAddress,
                           gender: gender,
                           permanentResidenceCountryCode: permanentResidenceCountryCode,
                           phoneNumber: phoneNumber,
                           relationship: relationship,
                           mailAddress: mailAddress,
                           usAddress: usAddress,
                           printForm: true,
                           isTravelingWithParticipant: isTravelingWithParticipant,
                           personId: 10,
                           participantId: 20,
                           isDeleted: isDeleted));
            };

            var instance  = createEntity();
            var validator = new DependentValidator();
            var result    = validator.Validate(instance);

            Assert.IsTrue(result.IsValid);

            birthDate = birthDate.AddYears(-2 * DependentValidator.MAX_DEPENDENT_AGE);
            instance  = createEntity();
            result    = validator.Validate(instance);
            Assert.IsTrue(result.IsValid);
            Assert.IsTrue(instance.IsSpousalDependent());
        }
        public void TestGetPersonType()
        {
            var validator = new DependentValidator();

            Assert.AreEqual(DependentValidator.PERSON_TYPE, validator.GetPersonType(null));
        }