public function testExceptionIsThrownIfSolrIsNotAccessible() { $fieldCode = 'foo'; $fieldValue = 'bar'; $testSolrConnectionPath = 'http://localhost:8983/solr/nonexistingcore/'; $client = new CurlSolrHttpClient($testSolrConnectionPath); $facetFieldTransformationRegistry = new FacetFieldTransformationRegistry(); $searchCriteria = new SearchCriterionEqual($fieldCode, $fieldValue); $searchEngine = new SolrSearchEngine($client, $searchCriteria, $facetFieldTransformationRegistry); $this->expectException(SolrConnectionException::class); $this->expectExceptionMessage('Error 404 Not Found'); $searchCriteria = new SearchCriterionEqual($fieldCode, $fieldValue); $sortOrderConfig = $this->createTestSortOrderConfig($fieldCode, SortDirection::ASC); $searchEngine->query($searchCriteria, $this->createTestQueryOptions($sortOrderConfig)); }
public function testSolrQuerySentToHttpClientContainsGlobalProductListingCriteria() { $searchString = 'foo'; $filterSelection = []; $spy = $this->once(); $this->mockHttpClient->expects($spy)->method('select')->willReturn([]); $this->searchEngine->queryFullText($searchString, $this->createStubQueryOptions($filterSelection)); $queryString = $spy->getInvocations()[0]->parameters[0]['q']; $expectationRegExp = sprintf('/^\\(\\(\\(full_text_search:"%s"\\) AND %s:"%s"\\)\\)/', $searchString, $this->testGlobalProductListingCriteriaFieldName, $this->testGlobalProductListingCriteriaFieldValue); $this->assertRegExp($expectationRegExp, $queryString); }