public void ShouldValidateDescription(
            string description,
            bool expectValid)
        {
            // Arrange.
            var viewModel = new VacancyOwnerRelationshipViewModel
            {
                EmployerWebsiteUrl  = "http://www.valid.com",
                EmployerDescription = description,
                IsAnonymousEmployer = false
            };

            // Act.
            var validator = new VacancyOwnerRelationshipViewModelValidator();

            // Assert.
            if (expectValid)
            {
                validator.ShouldNotHaveValidationErrorFor(m => m.EmployerDescription, viewModel);
            }
            else
            {
                validator.ShouldHaveValidationErrorFor(m => m.EmployerDescription, viewModel);
            }
        }
        public void ShouldValidateDescription_ForAnonymousEmployer(
            string description,
            bool expectValid)
        {
            // Arrange.
            var viewModel = new VacancyOwnerRelationshipViewModel
            {
                AnonymousEmployerDescription = description,
                IsAnonymousEmployer          = true,
                AnonymousEmployerReason      = description,
                AnonymousAboutTheEmployer    = description
            };

            // Act.
            var validator = new VacancyOwnerRelationshipViewModelValidator();

            // Assert.
            if (expectValid)
            {
                validator.ShouldNotHaveValidationErrorFor(m => m.AnonymousEmployerDescription, viewModel);
                validator.ShouldNotHaveValidationErrorFor(m => m.AnonymousAboutTheEmployer, viewModel);
                validator.ShouldNotHaveValidationErrorFor(m => m.AnonymousEmployerReason, viewModel);
            }
            else
            {
                validator.ShouldHaveValidationErrorFor(m => m.AnonymousEmployerDescription, viewModel);
                validator.ShouldHaveValidationErrorFor(m => m.AnonymousAboutTheEmployer, viewModel);
                validator.ShouldHaveValidationErrorFor(m => m.AnonymousEmployerReason, viewModel);
            }
        }
        public void ShouldValidateWebSiteUrl(
            string websiteUrl,
            bool expectValid)
        {
            // Arrange.
            var viewModel = new VacancyOwnerRelationshipViewModel
            {
                EmployerWebsiteUrl  = websiteUrl,
                EmployerDescription = "populated"
            };
            string uriString = null;

            // Act.
            var    validator = new VacancyOwnerRelationshipViewModelValidator();
            Action uriAction = () => { uriString = new UriBuilder(viewModel.EmployerWebsiteUrl).Uri.ToString(); };

            // Assert.
            if (expectValid)
            {
                validator.ShouldNotHaveValidationErrorFor(m => m.EmployerWebsiteUrl, viewModel);
                if (!string.IsNullOrEmpty(websiteUrl))
                {
                    uriAction.ShouldNotThrow();
                    uriString.Should().NotBeNullOrEmpty();
                }
            }
            else
            {
                validator.ShouldHaveValidationErrorFor(m => m.EmployerWebsiteUrl, viewModel);
            }
        }
コード例 #4
0
 public VacancyMediator(IVacancyQAProvider vacancyQaProvider,
                        VacancyViewModelValidator vacancyViewModelValidator,
                        VacancySummaryViewModelServerValidator vacancySummaryViewModelServerValidator,
                        NewVacancyViewModelServerValidator newVacancyViewModelServerValidator,
                        VacancyQuestionsViewModelServerValidator vacancyQuestionsViewModelServerValidator,
                        VacancyRequirementsProspectsViewModelServerValidator vacancyRequirementsProspectsViewModelServerValidator,
                        VacancyOwnerRelationshipViewModelValidator vacancyOwnerRelationshipViewModelValidator,
                        IProviderQAProvider providerQaProvider, LocationSearchViewModelServerValidator locationSearchViewModelServerValidator, ILocationsProvider locationsProvider, TrainingDetailsViewModelServerValidator trainingDetailsViewModelServerValidator)
 {
     _vacancyQaProvider         = vacancyQaProvider;
     _vacancyViewModelValidator = vacancyViewModelValidator;
     _vacancySummaryViewModelServerValidator               = vacancySummaryViewModelServerValidator;
     _newVacancyViewModelServerValidator                   = newVacancyViewModelServerValidator;
     _vacancyQuestionsViewModelServerValidator             = vacancyQuestionsViewModelServerValidator;
     _vacancyRequirementsProspectsViewModelServerValidator = vacancyRequirementsProspectsViewModelServerValidator;
     _vacancyOwnerRelationshipViewModelValidator           = vacancyOwnerRelationshipViewModelValidator;
     _providerQaProvider = providerQaProvider;
     _locationSearchViewModelServerValidator = locationSearchViewModelServerValidator;
     _locationsProvider = locationsProvider;
     _trainingDetailsViewModelServerValidator = trainingDetailsViewModelServerValidator;
 }