class CalculatedPermissionsItemTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/Tests/Core/Session/CalculatedPermissionsItemTest.php \Drupal\Tests\Core\Session\CalculatedPermissionsItemTest
- 10 core/tests/Drupal/Tests/Core/Session/CalculatedPermissionsItemTest.php \Drupal\Tests\Core\Session\CalculatedPermissionsItemTest
Tests the CalculatedPermissionsItem value object.
Attributes
#[CoversClass(CalculatedPermissionsItem::class)]
#[Group('Session')]
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\DrupalTestCaseTrait, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\Core\Session\CalculatedPermissionsItemTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of CalculatedPermissionsItemTest
File
-
core/
tests/ Drupal/ Tests/ Core/ Session/ CalculatedPermissionsItemTest.php, line 16
Namespace
Drupal\Tests\Core\SessionView source
class CalculatedPermissionsItemTest extends UnitTestCase {
/**
* Tests that the object values were set in the constructor.
*
* @legacy-covers ::__construct
* @legacy-covers ::getIdentifier
* @legacy-covers ::getScope
* @legacy-covers ::getPermissions
* @legacy-covers ::isAdmin
*/
public function testConstructor() : void {
$scope = 'some_scope';
$item = new CalculatedPermissionsItem([
'bar',
'baz',
'bar',
], FALSE, $scope, 'foo');
$this->assertEquals($scope, $item->getScope(), 'Scope name was set correctly.');
$this->assertEquals('foo', $item->getIdentifier(), 'Scope identifier was set correctly.');
$this->assertEquals([
'bar',
'baz',
], $item->getPermissions(), 'Permissions were made unique and set correctly.');
$this->assertFalse($item->isAdmin(), 'Admin flag was set correctly');
$item = new CalculatedPermissionsItem([
'bar',
'baz',
'bar',
], TRUE, $scope, 'foo');
$this->assertEquals([], $item->getPermissions(), 'Permissions were emptied out for an admin item.');
$this->assertTrue($item->isAdmin(), 'Admin flag was set correctly');
}
/**
* Tests the permission check when the admin flag is not set.
*/
public function testHasPermission() : void {
$item = new CalculatedPermissionsItem([
'bar',
], FALSE, 'some_scope', 'foo');
$this->assertFalse($item->hasPermission('baz'), 'Missing permission was not found.');
$this->assertTrue($item->hasPermission('bar'), 'Existing permission was found.');
}
/**
* Tests the permission check when the admin flag is set.
*/
public function testHasPermissionWithAdminFlag() : void {
$item = new CalculatedPermissionsItem([
'bar',
], TRUE, 'some_scope', 'foo');
$this->assertTrue($item->hasPermission('baz'), 'Missing permission was found.');
$this->assertTrue($item->hasPermission('bar'), 'Existing permission was found.');
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.