class UserPermissionsTest
Same name in this branch
- 9 core/modules/user/tests/src/Functional/UserPermissionsTest.php \Drupal\Tests\user\Functional\UserPermissionsTest
Same name and namespace in other branches
- 11.x core/modules/user/tests/src/FunctionalJavascript/UserPermissionsTest.php \Drupal\Tests\user\FunctionalJavascript\UserPermissionsTest
- 11.x core/modules/user/tests/src/Functional/UserPermissionsTest.php \Drupal\Tests\user\Functional\UserPermissionsTest
Tests the JS components added to the user permissions page.
@group user
Hierarchy
- class \Drupal\Tests\BrowserTestBase uses \Drupal\Core\Test\FunctionalTestSetupTrait, \Drupal\Tests\UiHelperTrait, \Drupal\Core\Test\TestSetupTrait, \Drupal\Tests\block\Traits\BlockCreationTrait, \Drupal\FunctionalTests\AssertLegacyTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\node\Traits\NodeCreationTrait, \Drupal\Tests\node\Traits\ContentTypeCreationTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\user\Traits\UserCreationTrait, \Drupal\Tests\XdebugRequestTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, \Drupal\Tests\ExtensionListTestTrait implements \PHPUnit\Framework\TestCase
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase implements \Drupal\Tests\BrowserTestBase
- class \Drupal\Tests\user\FunctionalJavascript\UserPermissionsTest implements \Drupal\FunctionalJavascriptTests\WebDriverTestBase
- class \Drupal\FunctionalJavascriptTests\WebDriverTestBase implements \Drupal\Tests\BrowserTestBase
Expanded class hierarchy of UserPermissionsTest
File
-
core/
modules/ user/ tests/ src/ FunctionalJavascript/ UserPermissionsTest.php, line 13
Namespace
Drupal\Tests\user\FunctionalJavascriptView source
class UserPermissionsTest extends WebDriverTestBase {
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* User with admin privileges.
*
* @var \Drupal\user\UserInterface
*/
protected $adminUser;
/**
* User's role ID.
*
* @var string
*/
protected $rid;
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$this->adminUser = $this->drupalCreateUser([
'administer permissions',
]);
// Find the new role ID.
$all_rids = $this->adminUser
->getRoles();
unset($all_rids[array_search(RoleInterface::AUTHENTICATED_ID, $all_rids)]);
$this->rid = reset($all_rids);
}
/**
* Tests the dummy checkboxes added to the permissions page.
*/
public function testPermissionCheckboxes() {
$this->drupalLogin($this->adminUser);
$this->drupalGet('admin/people/permissions');
$page = $this->getSession()
->getPage();
$wrapper = $page->find('css', '.form-item-' . $this->rid . '-administer-modules');
$real_checkbox = $wrapper->find('css', '.real-checkbox');
$dummy_checkbox = $wrapper->find('css', '.dummy-checkbox');
// The real per-role checkbox is visible and unchecked, the dummy copy is
// invisible.
$this->assertTrue($real_checkbox->isVisible());
$this->assertFalse($real_checkbox->isChecked());
$this->assertFalse($dummy_checkbox->isVisible());
// Enable the permission for all authenticated users.
$page->findField('authenticated[administer modules]')
->click();
// The real and dummy checkboxes switch visibility and the dummy is now both
// checked and disabled.
$this->assertFalse($real_checkbox->isVisible());
$this->assertTrue($dummy_checkbox->isVisible());
$this->assertTrue($dummy_checkbox->isChecked());
$this->assertTrue($dummy_checkbox->hasAttribute('disabled'));
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.