private Task <SearchApprenticeshipVacanciesResponse> InternalSearchApprenticeshipVacanciesAsync( VacancySearchParameters parameters) { _logger.Info($"Searching apprenticeships with following parameters: {parameters}"); var searchClientParameters = GetSearchClientParameters(parameters); ApprenticeshipSearchResponse searchClientResponse; try { searchClientResponse = _apprenticeshipSearchClient.Search(searchClientParameters); } catch (Exception e) { throw new InfrastructureException(e); } var searchResponse = new SearchApprenticeshipVacanciesResponse() { TotalMatched = searchClientResponse.Total, TotalReturned = searchClientResponse.Results.Count(), TotalPages = searchClientResponse.TotalPages, CurrentPage = parameters.PageNumber, SortBy = parameters.SortBy, ApprenticeshipSummaries = searchClientResponse.Results.Select(GetApprenticeshipSummary) }; return(Task.FromResult(searchResponse)); }
public async Task Setup() { var fixture = new Fixture().Customize(new AutoMoqCustomization()); var pageSize = fixture.Create <int>(); _expectedTotal = fixture.Create <int>(); _expectedCurrentPage = fixture.Create <int>(); _expectedSortBy = SortBy.Distance; _vacancySearchParameters = new VacancySearchParameters { PageSize = pageSize, PageNumber = _expectedCurrentPage, SortBy = _expectedSortBy, Latitude = 32, Longitude = 2, DistanceInMiles = 342 }; _expectedTotalPages = Math.Ceiling((double)_expectedTotal / pageSize); _apprenticeshipResults = fixture.Create <List <ApprenticeshipSearchResult> >(); _mockSearchClient = fixture.Freeze <Mock <IApprenticeshipSearchClient> >(); _mockSearchClient.Setup(c => c.Search(It.IsAny <ApprenticeshipSearchRequestParameters>())) .Returns((ApprenticeshipSearchRequestParameters r) => new ApprenticeshipSearchResponse( _expectedTotal, _apprenticeshipResults, Enumerable.Empty <AggregationResult>(), r)); _apprenticeshipSearchService = fixture.Create <ApprenticeshipSearchService>(); _actualResponse = await _apprenticeshipSearchService.SearchApprenticeshipVacanciesAsync(_vacancySearchParameters); }
public async Task Setup() { var fixture = new Fixture().Customize(new AutoMoqCustomization()); _expectedResponse = new SearchApprenticeshipVacanciesResponse(); _validRequest = new SearchApprenticeshipVacanciesRequest(); _expectedParameters = new VacancySearchParameters(); _validatorMock = fixture.Freeze <Mock <IValidator <SearchApprenticeshipVacanciesRequest> > >(); _validatorMock .Setup(validator => validator.ValidateAsync(_validRequest, It.IsAny <CancellationToken>())) .ReturnsAsync(new ValidationResult()); _mockMapper = fixture.Freeze <Mock <IVacancySearchParametersMapper> >(); _mockMapper .Setup(mapper => mapper.Convert(It.IsAny <SearchApprenticeshipVacanciesRequest>())) .Returns(_expectedParameters); _mockSearchService = fixture.Freeze <Mock <IApprenticeshipSearchService> >(); _mockSearchService .Setup(service => service.SearchApprenticeshipVacanciesAsync(It.IsAny <VacancySearchParameters>())) .ReturnsAsync(_expectedResponse); _handler = fixture.Create <SearchApprenticeshipVacanciesQueryHandler>(); _response = await _handler.Handle(_validRequest); }
public void ThenMapsDistanceCorrectly() { var searchResponse = new SearchApprenticeshipVacanciesResponse { SortBy = SortBy.Distance }; var mapResult = _mapper.Map <Vacancy.Api.Types.ApprenticeshipSearchResponse>(searchResponse); mapResult.SortBy.Should().Be(Vacancy.Api.Types.SortBy.Distance); }