View source
<?php
namespace Drupal\Tests\better_exposed_filters\Kernel\Plugin\sort;
use Drupal\Tests\better_exposed_filters\Kernel\BetterExposedFiltersKernelTestBase;
use Drupal\views\Views;
class SortWidgetKernelTest extends BetterExposedFiltersKernelTestBase {
public static $testViews = [
'bef_test',
];
public function testCombineSortOptions() {
$view = Views::getView('bef_test');
$display =& $view->storage
->getDisplay('default');
$display['display_options']['sorts']['created']['exposed'] = TRUE;
$display['display_options']['sorts']['created']['expose']['label'] = 'Created';
$this
->setBetterExposedOptions($view, [
'sort' => [
'advanced' => [
'combine' => TRUE,
],
],
]);
$output = $this
->getExposedFormRenderArray($view);
$options = $output['sort_bef_combine']['#options'];
$assert = [
'created_ASC' => 'Created Asc',
'created_DESC' => 'Created Desc',
];
$this
->assertEqual($options, $assert, 'Sort options are combined.');
$view
->destroy();
}
public function testCombineRewriteSortOptions() {
$view = Views::getView('bef_test');
$display =& $view->storage
->getDisplay('default');
$display['display_options']['sorts']['created']['exposed'] = TRUE;
$display['display_options']['sorts']['created']['expose']['label'] = 'Created';
$this
->setBetterExposedOptions($view, [
'sort' => [
'advanced' => [
'combine' => TRUE,
'combine_rewrite' => "Created Desc|down\r\nCreated Asc|up",
],
],
]);
$output = $this
->getExposedFormRenderArray($view);
$options = $output['sort_bef_combine']['#options'];
$assert = [
'created_DESC' => 'down',
'created_ASC' => 'up',
];
$this
->assertEqual($options, $assert, 'Sort options are combined and rewritten.');
$view
->destroy();
}
public function testResetSortOptions() {
$view = Views::getView('bef_test');
$display =& $view->storage
->getDisplay('default');
$display['display_options']['sorts']['created']['exposed'] = TRUE;
$display['display_options']['sorts']['created']['expose']['label'] = 'Created';
$this
->setBetterExposedOptions($view, [
'sort' => [
'advanced' => [
'combine' => TRUE,
'reset' => TRUE,
'reset_label' => 'Reset sort',
],
],
]);
$output = $this
->getExposedFormRenderArray($view);
$options = $output['sort_bef_combine']['#options'];
$assert = [
' ' => 'Reset sort',
'created_ASC' => 'Created Asc',
'created_DESC' => 'Created Desc',
];
$this
->assertEqual($options, $assert, 'Reset sort option was added.');
$view
->destroy();
}
}