public function EntityAccessEventTest::testEntityAccessEventCombinedResults in Hook Event Dispatcher 8
EntityAccessEvent with combined results test.
This simulates multiple event listeners adding their own access results to this event.
File
- tests/
src/ Unit/ Entity/ EntityAccessEventTest.php, line 177
Class
- EntityAccessEventTest
- Class EntityAccessEventTest.
Namespace
Drupal\Tests\hook_event_dispatcher\Unit\EntityCode
public function testEntityAccessEventCombinedResults() {
$accessResults = [
new AccessResultNeutral(),
new AccessResultAllowed(),
new AccessResultForbidden(),
];
$this->manager
->setEventCallbacks([
HookEventDispatcherInterface::ENTITY_ACCESS => function (EntityAccessEvent $event) use ($accessResults) {
foreach ($accessResults as $accessResult) {
$event
->addAccessResult($accessResult);
}
},
]);
$entity = $this
->createMock(EntityInterface::class);
$operation = 'test';
$account = $this
->createMock(AccountInterface::class);
$hookAccessResult = hook_event_dispatcher_entity_access($entity, $operation, $account);
self::assertFalse($hookAccessResult
->isNeutral());
self::assertFalse($hookAccessResult
->isAllowed());
self::assertTrue($hookAccessResult
->isForbidden());
}