You are here

public function SearchApiRptTest::testQueryTypeOr in Search API Location 8

Tests rpt query type without executing the query with an "OR" operator.

File

modules/facets_map_widget/tests/src/Unit/Plugin/query_type/SearchApiRptTest.php, line 59

Class

SearchApiRptTest
Unit test for query type.

Namespace

Drupal\Tests\facets_map_widget\Unit\Plugin\query_type

Code

public function testQueryTypeOr() {
  $query = new SearchApiQuery([], 'search_api_query', []);
  $facet = new Facet([
    'query_operator' => 'or',
  ], 'facets_facet');
  $facet
    ->setFieldIdentifier('field_animal');
  $original_results = [
    [
      'count' => 8,
      'filter' => 'heatmap',
    ],
  ];
  $query_type = new SearchApiRpt([
    'facet' => $facet,
    'query' => $query,
    'results' => $original_results,
  ], 'search_api_rpt', []);
  $built_facet = $query_type
    ->build();
  $this
    ->assertInstanceOf(FacetInterface::class, $built_facet);
  $results = $built_facet
    ->getResults();
  $this
    ->assertTrue(is_array($results));
  foreach ($original_results as $k => $result) {
    $this
      ->assertInstanceOf(ResultInterface::class, $results[$k]);
    $this
      ->assertEquals($result['count'], $results[$k]
      ->getCount());
    $this
      ->assertEquals($result['filter'], $results[$k]
      ->getDisplayValue());
  }
}