function PermissionAccessCheckTest::testAccess

Same name and namespace in other branches
  1. 11.x core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php \Drupal\Tests\user\Unit\PermissionAccessCheckTest::testAccess()
  2. 10 core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php \Drupal\Tests\user\Unit\PermissionAccessCheckTest::testAccess()
  3. 9 core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php \Drupal\Tests\user\Unit\PermissionAccessCheckTest::testAccess()
  4. 8.9.x core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php \Drupal\Tests\user\Unit\PermissionAccessCheckTest::testAccess()

Tests the access check method.

Attributes

#[DataProvider('providerTestAccess')]

File

core/modules/user/tests/src/Unit/PermissionAccessCheckTest.php, line 86

Class

PermissionAccessCheckTest
Tests Drupal\user\Access\PermissionAccessCheck.

Namespace

Drupal\Tests\user\Unit

Code

public function testAccess($requirements, $access, array $contexts = [], $message = '') : void {
  $access_result = AccessResult::allowedIf($access)->addCacheContexts($contexts);
  if (!empty($message)) {
    $access_result->setReason($message);
  }
  $user = $this->createStub(AccountInterface::class);
  $user->method('hasPermission')
    ->willReturnMap([
    [
      'allowed',
      TRUE,
    ],
    [
      'denied',
      FALSE,
    ],
    [
      'other',
      FALSE,
    ],
  ]);
  $route = new Route('', [], $requirements);
  $this->assertEquals($access_result, $this->accessCheck
    ->access($route, $user));
}

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