Exemplo n.º 1
0
        public MediatorResponse <ApprenticeshipSearchViewModel> SearchValidation(Guid?candidateId, ApprenticeshipSearchViewModel model)
        {
            if (!candidateId.HasValue && model.SearchMode == ApprenticeshipSearchMode.SavedSearches)
            {
                return(GetMediatorResponse(ApprenticeshipSearchMediatorCodes.SearchValidation.CandidateNotLoggedIn, model));
            }

            var clientResult = _searchRequestValidator.Validate(model);

            if (!clientResult.IsValid)
            {
                model.Distances = GetDistances(true);
                model.ResultsPerPageSelectList = GetResultsPerPageSelectList(model.ResultsPerPage);
                model.ApprenticeshipLevels     = GetApprenticeshipLevels(model.ApprenticeshipLevel);
                model.SearchFields             = GetSearchFields(false, model.SearchField);
                model.Categories    = GetCategories();
                model.SavedSearches = GetSavedSearches(candidateId);

                return(GetMediatorResponse(ApprenticeshipSearchMediatorCodes.SearchValidation.ValidationError, model, clientResult));
            }

            var code = model.SearchMode == ApprenticeshipSearchMode.SavedSearches
                ? ApprenticeshipSearchMediatorCodes.SearchValidation.RunSavedSearch
                : ApprenticeshipSearchMediatorCodes.SearchValidation.Ok;

            return(GetMediatorResponse(code, model));
        }
Exemplo n.º 2
0
        public MediatorResponse <ApprenticeshipSearchViewModel> SearchValidation(ApprenticeshipSearchViewModel model)
        {
            var clientResult = _searchRequestValidator.Validate(model);

            if (!clientResult.IsValid)
            {
                model.Distances = GetDistances();
                model.ResultsPerPageSelectList = GetResultsPerPageSelectList(model.ResultsPerPage);
                model.ApprenticeshipLevels     = GetApprenticeshipLevels(model.ApprenticeshipLevel);
                model.Categories = GetCategories();

                return(GetMediatorResponse(ApprenticeshipSearchMediatorCodes.SearchValidation.ValidationError, model, clientResult));
            }

            return(GetMediatorResponse(ApprenticeshipSearchMediatorCodes.SearchValidation.Ok, model));
        }
Exemplo n.º 3
0
        public void LocationRequiredIfKeywordIsNotVacancyReferenceNumber(string keywords)
        {
            var validator = new ApprenticeshipSearchViewModelServerValidator();
            var viewModel = new ApprenticeshipSearchViewModel {
                Keywords = keywords
            };

            validator.Validate(viewModel).IsValid.Should().BeFalse();
            validator.ShouldHaveValidationErrorFor(x => x.Location, viewModel);
            validator.ShouldNotHaveValidationErrorFor(x => x.Keywords, viewModel);
        }
Exemplo n.º 4
0
        public void LocationRequiredIfKeywordIsVacancyReferenceNumberButFieldIsntValidForVrn(string searchField)
        {
            var validator = new ApprenticeshipSearchViewModelServerValidator();
            var viewModel = new ApprenticeshipSearchViewModel
            {
                Keywords    = "VAC000123456",
                SearchField = searchField
            };

            validator.Validate(viewModel).IsValid.Should().BeFalse();
            validator.ShouldHaveValidationErrorFor(x => x.Location, viewModel);
            validator.ShouldNotHaveValidationErrorFor(x => x.Keywords, viewModel);
        }
Exemplo n.º 5
0
        public void LocationNotRequiredIfSearchFieldIsVacancyReferenceNumber(string keywords)
        {
            var validator = new ApprenticeshipSearchViewModelServerValidator();
            var viewModel = new ApprenticeshipSearchViewModel
            {
                Keywords    = keywords,
                SearchField = ApprenticeshipSearchField.ReferenceNumber.ToString()
            };

            validator.Validate(viewModel).IsValid.Should().BeTrue();
            validator.ShouldNotHaveValidationErrorFor(x => x.Location, viewModel);
            validator.ShouldNotHaveValidationErrorFor(x => x.Keywords, viewModel);
        }