public When_ProviderProximity_Controller_Download_Provider_Spreadsheet_Is_Called() { var locationService = Substitute.For <ILocationService>(); _providerProximityService = Substitute.For <IProviderProximityService>(); var routePathService = Substitute.For <IRoutePathService>(); var postcode = "CV1 2WT"; var filters = "Digital-Analog"; _searchParameters = new ProviderProximitySearchParametersDto { Postcode = postcode, SelectedRouteNames = new List <string>(filters.Split('-')) }; _providerProximityService.GetProviderProximitySpreadsheetDataAsync( Arg.Any <ProviderProximitySearchParametersDto>()) .Returns( new FileDownloadDto { FileName = "test_file.xlsx", ContentType = "application/file", FileContent = new byte[] { 01, 02 } }); var providerProximityController = new ProviderProximityController(routePathService, _providerProximityService, locationService); _result = providerProximityController.DownloadProviderProximitySpreadsheetAsync(postcode, filters).GetAwaiter().GetResult(); }
public When_ProviderProximity_Controller_SearchPostcode_Is_Loaded() { var locationService = Substitute.For <ILocationService>(); var providerProximityService = Substitute.For <IProviderProximityService>(); var routePathService = Substitute.For <IRoutePathService>(); var providerProximityController = new ProviderProximityController(routePathService, providerProximityService, locationService); _result = providerProximityController.SearchPostcode(); }
public When_ProviderProximity_Controller_FindAllProviders_Is_Called_With_Unformatted_Postcode() { const string requestPostcode = "cV12 Wt"; var httpClient = new TestPostcodesIoHttpClient().Get(requestPostcode); var routes = new List <SelectListItem> { new SelectListItem { Text = "1", Value = "Route 1" }, new SelectListItem { Text = "2", Value = "Route 2" } }; var routeDictionary = new Dictionary <int, string> { { 1, "Route 1" }, { 2, "Route 2" } }; var locationService = new LocationService( new LocationApiClient(httpClient, new MatchingConfiguration { PostcodeRetrieverBaseUrl = "https://api.postcodes.io" })); var searchProvider = Substitute.For <ISearchProvider>(); var datetimeProvider = Substitute.For <IDateTimeProvider>(); var fileWriter = Substitute.For <IFileWriter <ProviderProximityReportDto> >(); var routePathService = Substitute.For <IRoutePathService>(); routePathService.GetRouteSelectListItemsAsync().Returns(routes); routePathService.GetRouteDictionaryAsync().Returns(routeDictionary); var providerProximityService = new ProviderProximityService(searchProvider, locationService, routePathService, fileWriter, datetimeProvider); var providerProximityController = new ProviderProximityController(routePathService, providerProximityService, locationService); const string postcode = requestPostcode; var viewModel = new ProviderProximitySearchParamViewModel { Postcode = postcode }; _result = providerProximityController.FindAllProviders(viewModel).GetAwaiter().GetResult(); }
public When_ProviderProximity_Controller_FilterResults_Is_Called_With_No_Filters() { var routePathService = Substitute.For <IRoutePathService>(); var providerProximityService = Substitute.For <IProviderProximityService>(); var locationService = Substitute.For <ILocationService>(); var providerProximityController = new ProviderProximityController(routePathService, providerProximityService, locationService); var viewModel = new ProviderProximitySearchParametersViewModel { Postcode = "CV12WT" }; _result = providerProximityController.FilterResultsAsync(viewModel); }
public When_ProviderProximity_Controller_GetProviderProximityResults_Is_Called_With_No_Filters() { var routes = new List <SelectListItem> { new SelectListItem { Text = "1", Value = "Route 1" }, new SelectListItem { Text = "2", Value = "Route 2" } }; var routeDictionary = new Dictionary <int, string> { { 1, "Route 1" }, { 2, "Route 2" } }; var routePathService = Substitute.For <IRoutePathService>(); routePathService.GetRouteSelectListItemsAsync().Returns(routes); routePathService.GetRouteDictionaryAsync().Returns(routeDictionary); _providerProximityService = Substitute.For <IProviderProximityService>(); _providerProximityService.SearchProvidersByPostcodeProximityAsync( Arg.Any <ProviderProximitySearchParametersDto>()).Returns ( new List <ProviderProximitySearchResultViewModelItem> { new ProviderProximitySearchResultViewModelItem { Distance = 1.4, ProviderDisplayName = "Provider display name", ProviderVenueName = "Provider venue display name" } } ); var locationService = Substitute.For <ILocationService>(); var providerProximityController = new ProviderProximityController(routePathService, _providerProximityService, locationService); _result = providerProximityController.GetProviderProximityResults(Postcode) .GetAwaiter().GetResult(); }
public When_ProviderProximity_Controller_FilterResults_Is_Called_With_Single_Filter() { var routePathService = Substitute.For <IRoutePathService>(); var providerProximityService = Substitute.For <IProviderProximityService>(); var locationService = Substitute.For <ILocationService>(); var providerProximityController = new ProviderProximityController(routePathService, providerProximityService, locationService); var routes = new List <string> { "Agriculture, environmental and animal care", "Business and administration" }; var viewModel = new ProviderProximitySearchParametersViewModel(SearchCriteria, routes); _result = providerProximityController.FilterResultsAsync(viewModel); }
public When_ProviderProximity_Controller_FindAllProviders_Is_Called() { const string postcode = "cv1 2wt"; var locationService = Substitute.For <ILocationService>(); locationService.IsValidPostcodeAsync(postcode).Returns((true, postcode.ToUpper())); var routePathService = Substitute.For <IRoutePathService>(); var providerProximityService = Substitute.For <IProviderProximityService>(); var providerProximityController = new ProviderProximityController(routePathService, providerProximityService, locationService); var viewModel = new ProviderProximitySearchParamViewModel { Postcode = postcode }; _result = providerProximityController.FindAllProviders(viewModel).GetAwaiter().GetResult(); }
public When_ProviderProximity_Controller_FindAllProviders_Is_Called_For_Invalid_Postcode() { var locationService = Substitute.For <ILocationService>(); locationService.IsValidPostcodeAsync(Arg.Any <string>()).Returns((false, null)); var routePathService = Substitute.For <IRoutePathService>(); var providerProximityService = Substitute.For <IProviderProximityService>(); var providerProximityController = new ProviderProximityController(routePathService, providerProximityService, locationService); const string postcode = "XYZ A12"; var viewModel = new ProviderProximitySearchParamViewModel { Postcode = postcode }; _result = providerProximityController.FindAllProviders(viewModel).GetAwaiter().GetResult(); }