function ExposedFormLinkDisplayTest::setUp
Parameters
bool $import_test_views: Should the views specified on the test class be imported. If you need to setup some additional stuff, like fields, you need to call false and then call createTestViews for your own.
Overrides ViewsKernelTestBase::setUp
File
-
core/
modules/ views/ tests/ src/ Kernel/ Plugin/ ExposedFormLinkDisplayTest.php, line 23
Class
- ExposedFormLinkDisplayTest
- Tests exposed form actions for block displays with custom link targets.
Namespace
Drupal\Tests\views\Kernel\PluginCode
protected function setUp($import_test_views = TRUE) : void {
parent::setUp(FALSE);
$view = View::create([
'id' => 'test_exposed_block_link_display',
'label' => 'Test exposed block link display',
'module' => 'views',
'base_table' => 'views_test_data',
'base_field' => 'id',
]);
$executable = $view->getExecutable();
$executable->newDisplay('default', 'Default', 'default');
$executable->newDisplay('page', 'Page', 'page_1');
$executable->newDisplay('block', 'Block', 'block_1');
$default_display = $executable->displayHandlers
->get('default');
$default_display->setOption('fields', [
'name' => [
'id' => 'name',
'table' => 'views_test_data',
'field' => 'name',
'plugin_id' => 'standard',
],
]);
$default_display->setOption('filters', [
'age' => [
'id' => 'age',
'table' => 'views_test_data',
'field' => 'age',
'plugin_id' => 'numeric',
'exposed' => TRUE,
'expose' => [
'identifier' => 'age',
'label' => 'Age',
'operator_id' => 'age_op',
],
],
]);
$page_display = $executable->displayHandlers
->get('page_1');
$page_display->overrideOption('path', 'views-test-page');
$block_display = $executable->displayHandlers
->get('block_1');
$block_display->overrideOption('link_display', 'custom_url');
$block_display->overrideOption('link_url', '/custom-link');
$view->save();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.