예제 #1
0
        public void PhoneNumberValidatorIsValidTestIntInvalidValueSucceeds(string input)
        {
            var ctx = CreateContext(input);
            var sut = new PhoneNumberValidator <Dummy>(PhoneNumberType.International);

            sut.IsValid(ctx, input).Should().BeTrue();
        }
예제 #2
0
        public void PhoneNumberValidatorIsValidTestUKInvalidValueFails(string input)
        {
            var ctx = CreateContext(input);
            var sut = new PhoneNumberValidator <Dummy>(PhoneNumberType.UK);

            sut.IsValid(ctx, input).Should().BeFalse();
        }
예제 #3
0
        public void PhoneNumberValidatorIsValidTestNoInputReturnsFalse(PhoneNumberType type, string input)
        {
            var ctx = CreateContext(input);
            var sut = new PhoneNumberValidator <Dummy>(type);

            sut.IsValid(ctx, input).Should().BeFalse();
        }
예제 #4
0
        public void Test_MobilisNumberWithoutAreaCode_Valid()
        {
            var validator = new PhoneNumberValidator()
                            .FromString("0662175032")
                            .WithMask("06########");

            Assert.IsTrue(validator.IsValid());
        }
예제 #5
0
        public void Test_MobilisNumberWithAreaCode_Invalid()
        {
            var validator = new PhoneNumberValidator()
                            .FromString("00213(0)0662175032")
                            .WithMask("00213(0)6########");

            Assert.IsFalse(validator.IsValid());
        }
예제 #6
0
        public void Test_DjezzyNumberWithAreaCode_Valid()
        {
            var validator = new PhoneNumberValidator()
                            .FromString("+213770175032")
                            .WithMask("002137########")
                            .WithMask("+2137########");

            Assert.IsTrue(validator.IsValid());
        }
        public void AssertInvalidPhoneNumbers(
            [Values(
                 "206--555-0144",
                 "222-288--44-44",
                 "(222))-288-44-44",
                 "222  288 44 44")]
            string phoneNo)
        {
            PhoneNumberValidator phoneNumberValidator = new PhoneNumberValidator();

            Assert.AreEqual(false, phoneNumberValidator.IsValid(phoneNo), string.Format(CultureInfo.CurrentCulture, "The phone number '{0}' should be invalid", phoneNo));
        }
예제 #8
0
        public void Test_MobilisNumberOptional_InValid()
        {
            var validator = new PhoneNumberValidator()
                            .FromString("00213(0)07505050")
                            .IsOptional()
                            .WithMask("06########")
                            .WithMask("00213(0)6########")
                            .WithMask("002136########")
                            .WithMask("+2136########")
                            .WithMask("+213(0)6########");

            Assert.IsFalse(validator.IsValid());
        }
예제 #9
0
        private void UpdateJobAd(JobAd jobAd, JobAdModel jobAdModel)
        {
            // Validate it first after updating the content.

            jobAdModel.Summary = HtmlUtil.TextToHtml(jobAdModel.Summary);
            jobAdModel.Content = HtmlUtil.TextToHtml(jobAdModel.Content);

            IList <ValidationError> errors = new List <ValidationError>();

            try
            {
                jobAdModel.Validate();
            }
            catch (ValidationErrorsException ex)
            {
                // If there are errors then need to put things back the way they were.

                jobAdModel.Summary = HtmlUtil.HtmlToText(jobAdModel.Summary);
                jobAdModel.Content = HtmlUtil.HtmlToText(jobAdModel.Content);

                errors = ex.Errors.ToList();
            }

            // Need to explicitly check these.

            if (jobAdModel.ContactDetails == null || string.IsNullOrEmpty(jobAdModel.ContactDetails.EmailAddress))
            {
                errors.Add(new RequiredValidationError("email address"));
            }

            if (jobAdModel.ContactDetails != null && !string.IsNullOrEmpty(jobAdModel.ContactDetails.PhoneNumber))
            {
                IValidator validator = new PhoneNumberValidator();
                if (!validator.IsValid(jobAdModel.ContactDetails.PhoneNumber))
                {
                    errors = errors.Concat(validator.GetValidationErrors("PhoneNumber")).ToList();
                }
            }

            if (jobAdModel.ContactDetails != null && !string.IsNullOrEmpty(jobAdModel.ContactDetails.FaxNumber))
            {
                IValidator validator = new PhoneNumberValidator();
                if (!validator.IsValid(jobAdModel.ContactDetails.FaxNumber))
                {
                    errors = errors.Concat(validator.GetValidationErrors("FaxNumber")).ToList();
                }
            }

            if (jobAdModel.IndustryIds.IsNullOrEmpty())
            {
                errors.Add(new RequiredValidationError("industry"));
            }

            if (jobAdModel.JobTypes == JobTypes.None)
            {
                errors.Add(new RequiredValidationError("job type"));
            }

            if (jobAdModel.Location == null || string.IsNullOrEmpty(jobAdModel.Location.ToString()))
            {
                errors.Add(new RequiredValidationError("location"));
            }

            const JobAdFeaturePack featurePack = JobAdFeaturePack.BaseFeaturePack;
            var features          = _employerOrdersQuery.GetJobAdFeatures(featurePack);
            var defaultExpiryTime = _jobAdsCommand.GetDefaultExpiryTime(features);

            if (jobAdModel.ExpiryTime != null)
            {
                if (jobAdModel.ExpiryTime.Value > defaultExpiryTime)
                {
                    errors.Add(new JobAdExpiryValidationError("ExpiryTime", (defaultExpiryTime - DateTime.Now).Days + 1));
                }
            }

            if (errors.Count > 0)
            {
                throw new ValidationErrorsException(errors);
            }

            // Assign.

            jobAd.Title          = jobAdModel.Title;
            jobAd.ContactDetails = jobAdModel.ContactDetails;
            jobAd.Features       = features;
            jobAd.FeatureBoost   = _employerOrdersQuery.GetJobAdFeatureBoost(featurePack);

            // If the date has not been changed from the default then let it remain the default.

            jobAd.ExpiryTime = jobAd.ExpiryTime == null && jobAdModel.ExpiryTime != null && jobAdModel.ExpiryTime.Value.Date == defaultExpiryTime.Date
                ? null
                : jobAdModel.ExpiryTime;

            jobAd.Visibility.HideCompany        = jobAdModel.HideCompany;
            jobAd.Visibility.HideContactDetails = jobAdModel.HideContactDetails;

            jobAd.Integration.ExternalReferenceId = jobAdModel.ExternalReferenceId;

            jobAd.LogoId = jobAdModel.Logo == null ? null : jobAdModel.Logo.FileReferenceId;

            jobAd.Description.Content           = jobAdModel.Content;
            jobAd.Description.CompanyName       = jobAdModel.CompanyName;
            jobAd.Description.PositionTitle     = jobAdModel.PositionTitle;
            jobAd.Description.ResidencyRequired = jobAdModel.ResidencyRequired;
            jobAd.Description.JobTypes          = jobAdModel.JobTypes;
            jobAd.Description.Industries        = jobAdModel.IndustryIds == null
                ? new List <Industry>()
                : (from i in jobAdModel.IndustryIds select _industriesQuery.GetIndustry(i)).ToList();
            jobAd.Description.Summary      = jobAdModel.Summary;
            jobAd.Description.Salary       = jobAdModel.Salary;
            jobAd.Description.Package      = jobAdModel.Package;
            jobAd.Description.BulletPoints = jobAdModel.BulletPoints;
            jobAd.Description.Location     = jobAdModel.Location;
        }
        public void IsValidShouldReturnTrueWhenTheSpecifiedValueIsNull()
        {
            PhoneNumberValidator phoneNumberValidator = new PhoneNumberValidator();

            Assert.AreEqual(true, phoneNumberValidator.IsValid(null));
        }
        public void IsValidShouldReturnFalseWhenTheSpecifiedValueIsNotString()
        {
            PhoneNumberValidator phoneNumberValidator = new PhoneNumberValidator();

            Assert.AreEqual(false, phoneNumberValidator.IsValid(new object()));
        }