function EntityCreateAccessCustomCidTest::setUpAccessCache

Setup the access cache on the entity handler for testing.

Parameters

\Drupal\Core\Entity\EntityAccessControlHandler $handler: The access control handler.

bool $in_cache: Whether to prefill the handler's access cache.

string $cid: The cache ID.

Return value

\ReflectionProperty A reflection of the handler's accessCache property.

Throws

\ReflectionException

2 calls to EntityCreateAccessCustomCidTest::setUpAccessCache()
EntityCreateAccessCustomCidTest::testCustomCid in core/tests/Drupal/Tests/Core/Entity/Access/EntityCreateAccessCustomCidTest.php
Tests the entity access control handler with a custom static cache ID.
EntityCreateAccessCustomCidTest::testDefaultCid in core/tests/Drupal/Tests/Core/Entity/Access/EntityCreateAccessCustomCidTest.php
Tests the entity access control handler caching with context.

File

core/tests/Drupal/Tests/Core/Entity/Access/EntityCreateAccessCustomCidTest.php, line 98

Class

EntityCreateAccessCustomCidTest
Tests entity access control handler custom internal cache ID.

Namespace

Drupal\Tests\Core\Entity\Access

Code

protected function setUpAccessCache(EntityAccessControlHandler $handler, bool $in_cache, string $cid) : \ReflectionProperty {
  $access_cache = new \ReflectionProperty($handler, 'accessCache');
  $access_cache->setAccessible(TRUE);
  $cache = [];
  if ($in_cache) {
    // Prefill the handler's internal static cache.
    $cache = [
      $this->account
        ->id() => [
        $cid => [
          $this->langcode => [
            'create' => AccessResult::allowed(),
          ],
        ],
      ],
    ];
  }
  $access_cache->setValue($handler, $cache);
  return $access_cache;
}

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