You are here

public function EntityAccessEventTest::testEntityAccessEventForbiddenResult in Hook Event Dispatcher 3.x

Same name and namespace in other branches
  1. 8.2 modules/core_event_dispatcher/tests/src/Unit/Entity/EntityAccessEventTest.php \Drupal\Tests\core_event_dispatcher\Unit\Entity\EntityAccessEventTest::testEntityAccessEventForbiddenResult()

EntityAccessEvent with forbidden result test.

File

modules/core_event_dispatcher/tests/src/Unit/Entity/EntityAccessEventTest.php, line 111

Class

EntityAccessEventTest
Class EntityAccessEventTest.

Namespace

Drupal\Tests\core_event_dispatcher\Unit\Entity

Code

public function testEntityAccessEventForbiddenResult() : void {
  $accessResult = new AccessResultForbidden();
  $this->manager
    ->setEventCallbacks([
    HookEventDispatcherInterface::ENTITY_ACCESS => static function (EntityAccessEvent $event) use ($accessResult) {
      $event
        ->addAccessResult($accessResult);
    },
  ]);
  $entity = $this
    ->createMock(EntityInterface::class);
  $operation = 'test';
  $account = $this
    ->createMock(AccountInterface::class);
  $hookAccessResult = core_event_dispatcher_entity_access($entity, $operation, $account);
  self::assertFalse($hookAccessResult
    ->isNeutral());
  self::assertFalse($hookAccessResult
    ->isAllowed());
  self::assertTrue($hookAccessResult
    ->isForbidden());
}