class CalculatedPermissionsTest

Same name and namespace in other branches
  1. 10 core/tests/Drupal/Tests/Core/Session/CalculatedPermissionsTest.php \Drupal\Tests\Core\Session\CalculatedPermissionsTest

Tests the CalculatedPermissions value object.

@covers \Drupal\Core\Session\CalculatedPermissions @covers \Drupal\Core\Session\CalculatedPermissionsTrait @group Session

Hierarchy

Expanded class hierarchy of CalculatedPermissionsTest

File

core/tests/Drupal/Tests/Core/Session/CalculatedPermissionsTest.php, line 19

Namespace

Drupal\Tests\Core\Session
View source
class CalculatedPermissionsTest extends UnitTestCase {
    
    /**
     * Tests that the object values were set in the constructor.
     */
    public function testConstructor() : void {
        $item_a = new CalculatedPermissionsItem([
            'baz',
        ], FALSE, 'scope_a', 'foo');
        $item_b = new CalculatedPermissionsItem([
            'bob',
            'charlie',
        ], FALSE, 'scope_b', 1);
        $calculated_permissions = $this->prophesize(CalculatedPermissionsInterface::class);
        $calculated_permissions->getItems()
            ->willReturn([
            $item_a,
            $item_b,
        ]);
        $calculated_permissions->getCacheTags()
            ->willReturn([
            '24',
        ]);
        $calculated_permissions->getCacheContexts()
            ->willReturn([
            'Oct',
        ]);
        $calculated_permissions->getCacheMaxAge()
            ->willReturn(1986);
        $calculated_permissions = new CalculatedPermissions($calculated_permissions->reveal());
        $this->assertSame($item_a, $calculated_permissions->getItem('scope_a', 'foo'), 'Managed to retrieve the calculated permissions item by scope and identifier.');
        $this->assertFalse($calculated_permissions->getItem('scope_a', '404-id-not-found'), 'Requesting a non-existent identifier fails correctly.');
        $this->assertSame([
            $item_a,
            $item_b,
        ], $calculated_permissions->getItems(), 'Successfully retrieved all items regardless of scope.');
        $this->assertSame([
            'scope_a',
            'scope_b',
        ], $calculated_permissions->getScopes(), 'Successfully retrieved all scopes.');
        $this->assertSame([
            $item_a,
        ], $calculated_permissions->getItemsByScope('scope_a'), 'Successfully retrieved all items by scope.');
        $this->assertSame([
            '24',
        ], $calculated_permissions->getCacheTags(), 'Successfully inherited all cache tags.');
        $this->assertSame([], $calculated_permissions->getCacheContexts(), 'All cache contexts were cleared so they do not bubble up.');
        $this->assertSame(1986, $calculated_permissions->getCacheMaxAge(), 'Successfully inherited cache max-age.');
    }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
CalculatedPermissionsTest::testConstructor public function Tests that the object values were set in the constructor.
ExpectDeprecationTrait::expectDeprecation public function Adds an expected deprecation.
ExpectDeprecationTrait::getCallableName private static function Returns a callable as a string suitable for inclusion in a message.
ExpectDeprecationTrait::setUpErrorHandler public function Sets up the test error handler.
ExpectDeprecationTrait::tearDownErrorHandler public function Tears down the test error handler.
RandomGeneratorTrait::getRandomGenerator protected function Gets the random generator for the utility methods.
RandomGeneratorTrait::randomMachineName protected function Generates a unique random string containing letters and numbers.
RandomGeneratorTrait::randomObject public function Generates a random PHP object.
RandomGeneratorTrait::randomString public function Generates a pseudo-random string of ASCII characters of codes 32 to 126.
UnitTestCase::$root protected property The app root.
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::setUp protected function 354
UnitTestCase::setUpBeforeClass public static function

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.