function AccessTest::testContentAccessFilter
Tests that node_access table is joined when hook_node_grants() is implemented.
File
-
core/
modules/ views/ tests/ src/ Functional/ Plugin/ AccessTest.php, line 127
Class
- AccessTest
- Tests pluggable access for views.
Namespace
Drupal\Tests\views\Functional\PluginCode
public function testContentAccessFilter() : void {
$view = Views::getView('test_content_access_filter');
$view->setDisplay('page_1');
$view->initQuery();
$view->execute();
/** @var \Drupal\Core\Database\Query\Select $main_query */
$main_query = $view->build_info['query'];
$tables = array_keys($main_query->getTables());
$this->assertNotContains('node_access', $tables);
// Enable node access test module to ensure that table is present again.
\Drupal::service('module_installer')->install([
'node_access_test',
]);
node_access_rebuild();
$view = Views::getView('test_content_access_filter');
$view->setDisplay('page_1');
$view->initQuery();
$view->execute();
/** @var \Drupal\Core\Database\Query\Select $main_query */
$main_query = $view->build_info['query'];
$tables = array_keys($main_query->getTables());
$this->assertContains('node_access', $tables);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.