function ContentEntityBaseUnitTest::testAccess

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php \Drupal\Tests\Core\Entity\ContentEntityBaseUnitTest::testAccess()
  2. 8.9.x core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php \Drupal\Tests\Core\Entity\ContentEntityBaseUnitTest::testAccess()
  3. 10 core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php \Drupal\Tests\Core\Entity\ContentEntityBaseUnitTest::testAccess()

@covers ::access

File

core/tests/Drupal/Tests/Core/Entity/ContentEntityBaseUnitTest.php, line 510

Class

ContentEntityBaseUnitTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21Entity%21ContentEntityBase.php/class/ContentEntityBase/11.x" title="Implements Entity Field API specific enhancements to the Entity class." class="local">\Drupal\Core\Entity\ContentEntityBase</a> @group Entity @group Access

Namespace

Drupal\Tests\Core\Entity

Code

public function testAccess() : void {
    $access = $this->createMock('\\Drupal\\Core\\Entity\\EntityAccessControlHandlerInterface');
    $operation = $this->randomMachineName();
    $access->expects($this->exactly(2))
        ->method('access')
        ->with($this->entity, $operation)
        ->willReturnOnConsecutiveCalls(TRUE, AccessResult::allowed());
    $access->expects($this->exactly(2))
        ->method('createAccess')
        ->willReturnOnConsecutiveCalls(TRUE, AccessResult::allowed());
    $this->entityTypeManager
        ->expects($this->exactly(4))
        ->method('getAccessControlHandler')
        ->willReturn($access);
    $this->assertTrue($this->entity
        ->access($operation));
    $this->assertEquals(AccessResult::allowed(), $this->entity
        ->access($operation, NULL, TRUE));
    $this->assertTrue($this->entity
        ->access('create'));
    $this->assertEquals(AccessResult::allowed(), $this->entity
        ->access('create', NULL, TRUE));
}

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