private function querySolr(SolrQuery $query, SolrFacetFilterRequest $facetFilterRequest) : SolrResponse { $queryParameters = $query->toArray(); $facetParameters = $facetFilterRequest->toArray(); $response = $this->client->select(array_merge($queryParameters, $facetParameters)); return SolrResponse::fromSolrResponseArray($response, $this->facetFieldTransformationRegistry); }
public function testSelectedFiltersAreNotReturnedAlongWithFacetQueries() { $attributeCode = 'foo'; $attributeValue = 'bar'; $attributeValueCount = 2; $selectedAttributeCode = 'baz'; $selectedAttributeValue = 'qux'; $selectedAttributeValueCount = 4; $responseArray = ['facet_counts' => ['facet_queries' => [sprintf('%s:(%s)', $attributeCode, $attributeValue) => $attributeValueCount, sprintf('%s:(%s)', $selectedAttributeCode, $selectedAttributeValue) => $selectedAttributeValueCount]]]; $selectedFilterAttributeCodes = [$selectedAttributeCode]; $response = SolrResponse::fromSolrResponseArray($responseArray, $this->stubFacetFieldTransformationRegistry); $expectedFacetField = new FacetField(AttributeCode::fromString($attributeCode), new FacetFieldValue($attributeValue, $attributeValueCount)); $this->assertEquals([$expectedFacetField], $response->getNonSelectedFacetFields($selectedFilterAttributeCodes)); }