function EntityAccessControlHandlerTest::testEntityWithoutUuidAccessCache

Same name in other branches
  1. 9 core/tests/Drupal/KernelTests/Core/Entity/EntityAccessControlHandlerTest.php \Drupal\KernelTests\Core\Entity\EntityAccessControlHandlerTest::testEntityWithoutUuidAccessCache()
  2. 8.9.x core/tests/Drupal/KernelTests/Core/Entity/EntityAccessControlHandlerTest.php \Drupal\KernelTests\Core\Entity\EntityAccessControlHandlerTest::testEntityWithoutUuidAccessCache()
  3. 10 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 227

Class

EntityAccessControlHandlerTest
Tests the entity access control handler.

Namespace

Drupal\KernelTests\Core\Entity

Code

public function testEntityWithoutUuidAccessCache() : void {
    $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.');
}

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