You are here

public function EntityAccessControlHandlerTest::testEntityWithoutUuidAccessCache in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/KernelTests/Core/Entity/EntityAccessControlHandlerTest.php \Drupal\KernelTests\Core\Entity\EntityAccessControlHandlerTest::testEntityWithoutUuidAccessCache()

Ensures the static access cache works correctly in the absence of a UUID.

See also

entity_test_entity_access()

File

core/tests/Drupal/KernelTests/Core/Entity/EntityAccessControlHandlerTest.php, line 223

Class

EntityAccessControlHandlerTest
Tests the entity access control handler.

Namespace

Drupal\KernelTests\Core\Entity

Code

public function testEntityWithoutUuidAccessCache() {
  $account = $this
    ->createUser();
  $entity1 = EntityTestNoUuid::create([
    'name' => 'Accessible',
  ]);
  $entity1
    ->save();
  $entity2 = EntityTestNoUuid::create([
    'name' => 'Inaccessible',
  ]);
  $entity2
    ->save();
  $this
    ->assertTrue($entity1
    ->access('delete', $account), 'Entity 1 can be deleted.');
  $this
    ->assertFalse($entity2
    ->access('delete', $account), 'Entity 2 CANNOT be deleted.');
  $entity1
    ->setName('Inaccessible')
    ->setNewRevision();
  $entity1
    ->save();
  $this
    ->assertFalse($entity1
    ->access('delete', $account), 'Entity 1 revision 2 CANNOT be deleted.');
}