Пример #1
0
        public void AtLeastOneSearchCriteriaRequired(string firstName, string lastName, string dateOfBirth, string postcode, bool expectValid)
        {
            var viewModel = new CandidateSearchResultsViewModel
            {
                SearchViewModel = new CandidateSearchViewModel
                {
                    FirstName   = firstName,
                    LastName    = lastName,
                    DateOfBirth = dateOfBirth,
                    Postcode    = postcode
                }
            };

            var result = _validator.Validate(viewModel);

            if (expectValid)
            {
                result.IsValid.Should().BeTrue();
            }
            else
            {
                result.IsValid.Should().BeFalse();
                result.Errors.Count.Should().Be(1);
                result.Errors[0].ErrorMessage.Should().Be(CandidateSearchViewModelMessages.NoSearchCriteriaErrorText);
            }
        }
Пример #2
0
        public void DefaultShouldNotHaveAnyValidationErrors()
        {
            var viewModel = new CandidateSearchResultsViewModel();

            var result = _validator.Validate(viewModel);

            result.IsValid.Should().BeTrue();
        }
        public ActionResult Index()
        {
            var viewModel = new CandidateSearchResultsViewModel
            {
                SearchViewModel = new CandidateSearchViewModel()
            };

            return(View("Search", viewModel));
        }
        public MediatorResponse <CandidateSearchResultsViewModel> Search()
        {
            var viewModel = new CandidateSearchResultsViewModel
            {
                SearchViewModel = new CandidateSearchViewModel()
            };

            return(GetMediatorResponse(CandidateMediatorCodes.Search.Ok, viewModel));
        }
Пример #5
0
        public void SearchViewModelCriteriaRequired()
        {
            var viewModel = new CandidateSearchResultsViewModel();

            var result = _validator.Validate(viewModel);

            result.IsValid.Should().BeFalse();
            result.Errors.Count.Should().Be(1);
            result.Errors[0].ErrorMessage.Should().Be(CandidateSearchViewModelMessages.NoSearchCriteriaErrorText);
        }
        public CandidateSearchResultsViewModel SearchCandidates(CandidateSearchViewModel searchViewModel, string ukprn)
        {
            var dateOfBirth = string.IsNullOrEmpty(searchViewModel.DateOfBirth) ? (DateTime?)null : DateTime.Parse(searchViewModel.DateOfBirth, _dateCultureInfo);

            IEnumerable <int> providerSiteIds = null;

            if (!string.IsNullOrEmpty(ukprn))
            {
                var providerId         = _providerService.GetProvider(ukprn).ProviderId;
                var ownedProviderSites = _providerService.GetOwnedProviderSites(providerId);
                providerSiteIds = ownedProviderSites.Select(ps => ps.ProviderSiteId).ToList();
            }

            var request    = new CandidateSearchRequest(searchViewModel.FirstName, searchViewModel.LastName, dateOfBirth, searchViewModel.Postcode, CandidateSearchExtensions.GetCandidateGuidPrefix(searchViewModel.ApplicantId), CandidateSearchExtensions.GetCandidateId(searchViewModel.ApplicantId), providerSiteIds, !string.IsNullOrEmpty(ukprn));
            var candidates = _candidateSearchService.SearchCandidates(request) ?? new List <CandidateSummary>();

            var results = new CandidateSearchResultsViewModel
            {
                SearchViewModel = searchViewModel,
                Candidates      = new PageableViewModel <CandidateSummaryViewModel>
                {
                    Page =
                        candidates.OrderBy(c => c.LastName)
                        .ThenBy(c => c.FirstName)
                        .ThenBy(c => c.Address.Postcode)
                        .ThenBy(c => c.Address.AddressLine1)
                        .Skip((searchViewModel.CurrentPage - 1) * searchViewModel.PageSize)
                        .Take(searchViewModel.PageSize)
                        .Select(c => _mapper.Map <CandidateSummary, CandidateSummaryViewModel>(c))
                        .ToList(),
                    ResultsCount       = candidates.Count,
                    CurrentPage        = searchViewModel.CurrentPage,
                    TotalNumberOfPages =
                        candidates.Count == 0
                            ? 1
                            : (int)Math.Ceiling((double)candidates.Count / searchViewModel.PageSize)
                }
            };

            return(results);
        }
Пример #7
0
        public void DateOfBirthInvalidCharacters(string dateOfBirth, bool expectValid)
        {
            var viewModel = new CandidateSearchResultsViewModel
            {
                SearchViewModel = new CandidateSearchViewModel
                {
                    DateOfBirth = dateOfBirth,
                }
            };

            _validator.Validate(viewModel);

            if (expectValid)
            {
                _validator.ShouldNotHaveValidationErrorFor(vm => vm.SearchViewModel, vm => vm.SearchViewModel.DateOfBirth, viewModel);
            }
            else
            {
                _validator.ShouldHaveValidationErrorFor(vm => vm.SearchViewModel, vm => vm.SearchViewModel.DateOfBirth, viewModel);
            }
        }
Пример #8
0
        public void LastNameInvalidCharacters(string lastName, bool expectValid)
        {
            var viewModel = new CandidateSearchResultsViewModel
            {
                SearchViewModel = new CandidateSearchViewModel
                {
                    LastName = lastName,
                }
            };

            _validator.Validate(viewModel);

            if (expectValid)
            {
                _validator.ShouldNotHaveValidationErrorFor(vm => vm.SearchViewModel, vm => vm.SearchViewModel.LastName, viewModel);
            }
            else
            {
                _validator.ShouldHaveValidationErrorFor(vm => vm.SearchViewModel, vm => vm.SearchViewModel.LastName, viewModel);
            }
        }
Пример #9
0
        public void PostcodeInvalidCharacters(string postcode, bool expectValid)
        {
            var viewModel = new CandidateSearchResultsViewModel
            {
                SearchViewModel = new CandidateSearchViewModel
                {
                    Postcode = postcode
                }
            };

            _validator.Validate(viewModel);

            if (expectValid)
            {
                _validator.ShouldNotHaveValidationErrorFor(vm => vm.SearchViewModel, vm => vm.SearchViewModel.Postcode, viewModel);
            }
            else
            {
                _validator.ShouldHaveValidationErrorFor(vm => vm.SearchViewModel, vm => vm.SearchViewModel.Postcode, viewModel);
            }
        }
 public ActionResult SearchCandidates(CandidateSearchResultsViewModel viewModel)
 {
     return(RedirectToRoute(ManagementRouteNames.SearchCandidates, viewModel.SearchViewModel));
 }