class CalculatedPermissionsTest

Same name and namespace in other branches
  1. 11.x 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 Deprecated Modifiers Object type Summary Overrides
CalculatedPermissionsTest::testConstructor public function Tests that the object values were set in the constructor.
PhpUnitWarnings::$deprecationWarnings private static property Deprecation warnings from PHPUnit to raise with @trigger_error().
PhpUnitWarnings::addWarning public function Converts PHPUnit deprecation warnings to E_USER_DEPRECATED.
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.
RandomGeneratorTrait::randomStringValidate Deprecated public function Callback for random string validation.
UnitTestCase::$root protected property The app root. 1
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 358
UnitTestCase::setUpBeforeClass public static function
UnitTestCase::__get public function

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