Newer
Older
<?php
namespace Drupal\Tests\search_api_opensearch\Unit\SearchAPI\Query;
use Drupal\search_api\Query\QueryInterface;
use Drupal\search_api_opensearch\SearchAPI\Query\FacetParamBuilder;
use Drupal\Tests\UnitTestCase;
/**
* Tests the facet param builder.
*
* @coversDefaultClass \Drupal\search_api_opensearch\SearchAPI\Query\FacetParamBuilder
* @group search_api_opensearch
*/
class FacetParamBuilderTest extends UnitTestCase {
/**
* @covers ::buildFacetParams
*/
public function testBuildFacetParams() {
$logger = $this->prophesize(LoggerInterface::class);
$builder = new FacetParamBuilder($logger->reveal());
$query = $this->prophesize(QueryInterface::class);
$query->getOption('search_api_facets', [])
->willReturn([
'facet1' => [
'field' => 'field1',
'operator' => 'and',
],
'facet2' => [
'field' => 'field1',
'operator' => 'or',
],
]);
$indexFields = [
'field1' => [],
'field2' => [],
];
$aggs = $builder->buildFacetParams($query->reveal(), $indexFields);
$expected = [
'facet1' => ['terms' => ['field' => 'field1', 'size' => '10']],
'facet2_global' => [
'aggs' => [
'facet2' =>
['terms' => ['field' => 'field1', 'size' => '10']],