HooksTest.php in Search API sorts 8
File
tests/src/Functional/HooksTest.php
View source
<?php
namespace Drupal\Tests\search_api_sorts\Functional;
class HooksTest extends SortsFunctionalBase {
public static $modules = [
'search_api_sorts_test_hook',
];
public function testHookDefaultSortsAlter() {
$this
->drupalGet('admin/config/search/search-api/index/' . $this->indexId . '/fields');
$sorts_config = 'admin/config/search/search-api/index/' . $this->indexId . '/sorts/' . $this->escapedDisplayId;
$this
->drupalGet($sorts_config);
$edit = [
'sorts[id][status]' => TRUE,
'default_sort' => 'id',
];
$this
->drupalPostForm(NULL, $edit, 'Save settings');
$block_settings = [
'region' => 'footer',
'id' => 'sorts-id',
];
$this
->drupalPlaceBlock('search_api_sorts_block:' . $this->displayId, $block_settings);
\Drupal::state()
->set('search_api_sorts_default_sort', 'desc');
$this
->drupalGet('search-api-sorts-test');
$this
->assertSession()
->statusCodeEquals(200);
$this
->assertSession()
->pageTextContains('Hook hook_search_api_sorts_default_sort_alter');
$this
->assertSession()
->linkExists('ID');
$this
->assertPositions([
'default | bar baz',
'default | foo baz',
'default | foo test foobuz',
'default | foo bar baz foobaz föö',
]);
\Drupal::state()
->set('search_api_sorts_default_sort', 'asc');
$this
->drupalGet('search-api-sorts-test');
$this
->assertSession()
->statusCodeEquals(200);
$this
->assertSession()
->pageTextContains('Hook hook_search_api_sorts_default_sort_alter');
$this
->assertSession()
->linkExists('ID');
$this
->assertPositions([
'default | foo bar baz foobaz föö',
'default | foo test foobuz',
'default | foo baz',
'default | bar baz',
]);
}
}