public async Task <IActionResult> Index( int page = 1, string?searchString = null, string?existingFilterString = null, string?newFilterToAdd = null, bool clearFilters = false, int?itemsPerPage = null ) { if (!await featureManager.IsEnabledAsync(FeatureFlags.RefactoredFindYourCentrePage)) { var model = new FindYourCentreViewModel(configuration); return(View("Index", model)); } existingFilterString = FilteringHelper.GetFilterString( existingFilterString, newFilterToAdd, clearFilters, Request, FindCentreFilterCookieName ); var centreSummaries = centresService.GetAllCentreSummariesForFindCentre(); var regions = regionDataService.GetRegionsAlphabetical(); var availableFilters = FindYourCentreViewModelFilterOptions .GetFindCentreFilterModels(regions).ToList(); var searchSortPaginationOptions = new SearchSortFilterAndPaginateOptions( new SearchOptions(searchString, searchMatchCutoff: 90), null, new FilterOptions( existingFilterString, availableFilters ), new PaginationOptions(page, itemsPerPage) ); var result = searchSortFilterPaginateService.SearchFilterSortAndPaginate( centreSummaries, searchSortPaginationOptions ); var refactoredModel = new RefactoredFindYourCentreViewModel( result, availableFilters ); Response.UpdateFilterCookie(FindCentreFilterCookieName, result.FilterString); return(View("RefactoredFindYourCentre", refactoredModel)); }
public void GetAllCentreSummariesForFindCentre_calls_dataService_and_returns_all_summary_details() { // Given var expectedCentres = Builder <CentreSummaryForFindYourCentre> .CreateListOfSize(10).Build(); A.CallTo(() => centresDataService.GetAllCentreSummariesForFindCentre()).Returns(expectedCentres); // When var result = centresService.GetAllCentreSummariesForFindCentre(); // Then result.Should().HaveCount(10); }