public void ShouldReturnFrameworksCount() { var vacancySearchProvider = new ApprenticeshipsSearchProvider(_elasticsearchClientFactory, _mapper, _configurationService, _logger.Object); var vacancies = vacancySearchProvider.FindVacancies(GetCommonSearchParameters()); vacancies.AggregationResults.Should().HaveCount(c => c > 0); }
public void ShouldSortByPostedDate() { var vacancySearchProvider = new ApprenticeshipsSearchProvider(_elasticsearchClientFactory, _mapper, _configurationService, _logger.Object); var searchParameters = GetPostedDateSearchParameters(); var vacancies = vacancySearchProvider.FindVacancies(searchParameters); vacancies.Results.Should().BeInDescendingOrder(r => r.PostedDate); }
//, Ignore("Failing because an exception") public void ShouldSearchAllEngland() { //TODO: this test could be too fragile var vacancySearchProvider = new ApprenticeshipsSearchProvider(_elasticsearchClientFactory, _mapper, _configurationService, _logger.Object); var searchParameters = GetEnglandSearchParameters("it"); var vacancies = vacancySearchProvider.FindVacancies(searchParameters); vacancies.Results.Where(r => r.Distance > 40).Should().NotBeEmpty(); }
public void ShouldSearchBySector() { var vacancySearchProvider = new ApprenticeshipsSearchProvider(_elasticsearchClientFactory, _mapper, _configurationService, _logger.Object); var searchParameters = GetCommonSearchParameters(); searchParameters.CategoryCode = RetailAndCommercialEnterprise; var vacancies = vacancySearchProvider.FindVacancies(searchParameters); vacancies.AggregationResults.Should().HaveCount(c => c > 0); }
public void ShouldSearchBySectorAndFramework() { var vacancySearchProvider = new ApprenticeshipsSearchProvider(_elasticsearchClientFactory, _mapper, SearchConfiguration.Instance, _logger.Object); var searchParameters = GetCommonSearchParameters(); searchParameters.Sector = RetailAndCommercialEnterprise; searchParameters.Frameworks = new[] { "582" }; var vacancies = vacancySearchProvider.FindVacancies(searchParameters); vacancies.AggregationResults.Should().HaveCount(n => n > 1); }
public SearchResponse Search(SearchRequest request) { var searchFactorConfiguration = new SearchFactorConfiguration { DescriptionFactors = GetFactorsFromRequest(SearchFactorKeys.Description, request), EmployerFactors = GetFactorsFromRequest(SearchFactorKeys.Employer, request), JobTitleFactors = GetFactorsFromRequest(SearchFactorKeys.JobTitle, request), ProviderFactors = GetFactorsFromRequest(SearchFactorKeys.Provider, request) }; var configurationService = new VacancySearchConfigurationService( _configurationService, searchFactorConfiguration); var elasticsearchClientFactory = new ElasticsearchClientFactory( configurationService, _logService); var searchProvider = new ApprenticeshipsSearchProvider( elasticsearchClientFactory, _mapper, configurationService, _logService); var parameters = new ApprenticeshipSearchParameters { PageNumber = 1, PageSize = 50, SearchField = GetSearchFieldFromRequest(request), Keywords = request.SearchTerms, SortType = VacancySearchSortType.Relevancy }; var indexDate = new DateTime(2020, 01, 01, 12, 00, 00); var indexAlias = elasticsearchClientFactory.GetIndexNameForType(typeof(ApprenticeshipSummary)); var indexName = string.Format("{0}.{1}", indexAlias, indexDate.ToUniversalTime().ToString("yyyy-MM-dd-HH")); var vacancies = searchProvider.FindVacancies(parameters, indexName); return(new SearchResponse { Request = request, SearchResults = vacancies.Results.ToArray(), Total = vacancies.Total, SearchFactorConfiguration = configurationService.Get <SearchFactorConfiguration>(), Parameters = parameters }); }