public function ViewsConfigDependenciesIntegrationTest::testConfigRemovalRole in Drupal 9
Same name and namespace in other branches
- 8 core/modules/views/tests/src/Kernel/ViewsConfigDependenciesIntegrationTest.php \Drupal\Tests\views\Kernel\ViewsConfigDependenciesIntegrationTest::testConfigRemovalRole()
Tests removing a config dependency that deletes the View.
File
- core/
modules/ views/ tests/ src/ Kernel/ ViewsConfigDependenciesIntegrationTest.php, line 111
Class
- ViewsConfigDependenciesIntegrationTest
- Tests integration of views with other modules.
Namespace
Drupal\Tests\views\KernelCode
public function testConfigRemovalRole() {
// Create a role we can add to the View and delete.
$role = Role::create([
'id' => 'dummy',
'label' => 'dummy',
]);
$role
->save();
/** @var \Drupal\views\ViewEntityInterface $view */
$view = View::load('entity_test_fields');
$display =& $view
->getDisplay('default');
// Set the access to be restricted by the dummy role.
$display['display_options']['access'] = [
'type' => 'role',
'options' => [
'role' => [
$role
->id() => $role
->id(),
],
],
];
$view
->save();
// Check that the View now has a dependency on the Role.
$dependencies = $view
->getDependencies() + [
'config' => [],
];
$this
->assertContains('user.role.dummy', $dependencies['config']);
// Delete the role.
$role
->delete();
$view = View::load('entity_test_fields');
// Checks that the view has been deleted too.
$this
->assertNull($view);
}