elasticsearch_search_api-1.0.x-dev/tests/src/Unit/ElasticSearchResultParserTest.php
tests/src/Unit/ElasticSearchResultParserTest.php
<?php namespace Drupal\Tests\elasticsearch_search_api\Unit; use Drupal\elasticsearch_search_api\Search\ElasticSearchResultParser; use Drupal\elasticsearch_search_api\Search\FacetedSearchAction; use Drupal\elasticsearch_search_api\Search\SearchResult; use Drupal\Tests\UnitTestCase; /** * Test case for ElasticSearchResultParser. * * @coversDefaultClass \Drupal\elasticsearch_search_api\Search\ElasticSearchResultParser * * @group elasticsearch_search_api */ class ElasticSearchResultParserTest extends UnitTestCase { /** * Tests parsing of the search results into a SearchResult object. */ public function testParse() { $parser = new ElasticSearchResultParser(); // Sample taken from some demo data. $response = [ 'took' => 1, 'timed_out' => FALSE, '_shards' => [ 'total' => 5, 'successful' => 5, 'failed' => 0, ], 'hits' => [ 'total' => [ 'value' => 12, 'relation' => 'eq', ], 'max_score' => 2.7183442, 'hits' => [ 0 => [ '_index' => 'elasticsearch_index_drupal_esa', '_type' => 'esa', '_id' => 'entity:node/113:nl', '_score' => 2.7183442, ], 1 => [ '_index' => 'elasticsearch_index_drupal_esa', '_type' => 'esa', '_id' => 'entity:node/111:nl', '_score' => 2.6657796, ], ], ], 'aggregations' => [ 'steunverlenende_overheid' => [ 'doc_count' => 2, 'filtered' => [ 'doc_count_error_upper_bound' => 0, 'sum_other_doc_count' => 0, 'buckets' => [ 0 => [ 'key' => 41, 'doc_count' => 1, ], 1 => [ 'key' => 44, 'doc_count' => 1, ], ], ], ], 'omvang_bedrijf' => [ 'doc_count' => 5, 'filtered' => [ 'doc_count_error_upper_bound' => 0, 'sum_other_doc_count' => 0, 'buckets' => [ 0 => [ 'key' => 52, 'doc_count' => 3, ], 1 => [ 'key' => 53, 'doc_count' => 2, ], ], ], ], 'leeftijd_onderneming' => [ 'doc_count' => 2, 'filtered' => [ 'doc_count_error_upper_bound' => 0, 'sum_other_doc_count' => 0, 'buckets' => [ 0 => [ 'key' => 50, 'doc_count' => 1, ], 1 => [ 'key' => 51, 'doc_count' => 1, ], ], ], ], 'juridische_vorm' => [ 'doc_count' => 2, 'filtered' => [ 'doc_count_error_upper_bound' => 0, 'sum_other_doc_count' => 0, 'buckets' => [ 0 => [ 'key' => 55, 'doc_count' => 1, ], 1 => [ 'key' => 56, 'doc_count' => 1, ], ], ], ], 'type_tegemoetkoming' => [ 'doc_count' => 2, 'filtered' => [ 'doc_count_error_upper_bound' => 0, 'sum_other_doc_count' => 0, 'buckets' => [ 0 => [ 'key' => 37, 'doc_count' => 2, ], ], ], ], 'sector' => [ 'doc_count' => 2, 'filtered' => [ 'doc_count_error_upper_bound' => 0, 'sum_other_doc_count' => 0, 'buckets' => [ 0 => [ 'key' => 32, 'doc_count' => 2, ], ], ], ], ], ]; $searchAction = new FacetedSearchAction( 2, NULL, ['sector', 'steunverlenende_overheid', 'omvang_bedrijf'] ); $expected_result = new SearchResult( 12, [ 'entity:node/113:nl', 'entity:node/111:nl', ], [ 'sector' => [ 32 => 2, ], 'steunverlenende_overheid' => [ 41 => 1, 44 => 1, ], 'omvang_bedrijf' => [ 52 => 3, 53 => 2, ], ] ); $this->assertEquals($expected_result, $parser->parse($searchAction, $response)); } }