View source
<?php
namespace Drupal\Tests\better_exposed_filters\Kernel;
use Drupal\views\Views;
class BetterExposedFiltersKernelTest extends BetterExposedFiltersKernelTestBase {
public static $testViews = [
'bef_test',
];
public function testHideSubmitButtonOnAutoSubmit() {
$view = Views::getView('bef_test');
$display =& $view->storage
->getDisplay('default');
$this
->setBetterExposedOptions($view, [
'general' => [
'autosubmit' => TRUE,
'autosubmit_hide' => TRUE,
],
]);
$this
->renderExposedForm($view);
$actual = $this
->xpath("//form//input[@type='submit'][contains(concat(' ',normalize-space(@class),' '),' js-hide ')]");
$this
->assertCount(1, $actual, 'Submit button was hidden successfully.');
$view
->destroy();
}
public function testSecondaryOptions() {
$view = Views::getView('bef_test');
$display =& $view->storage
->getDisplay('default');
$this
->setBetterExposedOptions($view, [
'general' => [
'allow_secondary' => TRUE,
'secondary_label' => 'Secondary Options TEST',
],
]);
$this
->renderExposedForm($view);
$actual = $this
->xpath("//form//details[@data-drupal-selector='edit-secondary']");
$this
->assertCount(0, $actual, 'Secondary options are hidden because no fields were placed.');
$view
->destroy();
$view = Views::getView('bef_test');
$this
->setBetterExposedOptions($view, [
'general' => [
'allow_secondary' => TRUE,
'secondary_label' => 'Secondary Options TEST',
],
'sort' => [
'plugin_id' => 'default',
'advanced' => [
'is_secondary' => TRUE,
],
],
'pager' => [
'plugin_id' => 'default',
'advanced' => [
'is_secondary' => TRUE,
],
],
'filter' => [
'field_bef_boolean_value' => [
'plugin_id' => 'default',
'advanced' => [
'is_secondary' => TRUE,
],
],
],
]);
$this
->renderExposedForm($view);
$actual = $this
->xpath("//form//details[@data-drupal-selector='edit-secondary']");
$this
->assertCount(1, $actual, 'Secondary options is visible.');
$actual = $this
->xpath("//form//details[@data-drupal-selector='edit-secondary']//select[@name='sort_by']");
$this
->assertCount(1, $actual, 'Exposed sort was placed in secondary fieldset.');
$actual = $this
->xpath("//form//details[@data-drupal-selector='edit-secondary']//select[@name='items_per_page']");
$this
->assertCount(1, $actual, 'Exposed pager was placed in secondary fieldset.');
$actual = $this
->xpath("//form//details[@data-drupal-selector='edit-secondary']//select[@name='field_bef_boolean_value']");
$this
->assertCount(1, $actual, 'Exposed filter "field_bef_boolean" was placed in secondary fieldset.');
$view
->destroy();
}
}