class DefaultAccessCheckTest

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/Tests/Core/Access/DefaultAccessCheckTest.php \Drupal\Tests\Core\Access\DefaultAccessCheckTest
  2. 10 core/tests/Drupal/Tests/Core/Access/DefaultAccessCheckTest.php \Drupal\Tests\Core\Access\DefaultAccessCheckTest
  3. 8.9.x core/tests/Drupal/Tests/Core/Access/DefaultAccessCheckTest.php \Drupal\Tests\Core\Access\DefaultAccessCheckTest

@coversDefaultClass \Drupal\Core\Access\DefaultAccessCheck
@group Access

Hierarchy

Expanded class hierarchy of DefaultAccessCheckTest

File

core/tests/Drupal/Tests/Core/Access/DefaultAccessCheckTest.php, line 15

Namespace

Drupal\Tests\Core\Access
View source
class DefaultAccessCheckTest extends UnitTestCase {
  
  /**
   * The access checker to test.
   *
   * @var \Drupal\Core\Access\DefaultAccessCheck
   */
  protected $accessChecker;
  
  /**
   * The mocked account.
   *
   * @var \Drupal\Core\Session\AccountInterface|\PHPUnit\Framework\MockObject\MockObject
   */
  protected $account;
  
  /**
   * {@inheritdoc}
   */
  protected function setUp() : void {
    parent::setUp();
    $this->account = $this->createMock('Drupal\\Core\\Session\\AccountInterface');
    $this->accessChecker = new DefaultAccessCheck();
  }
  
  /**
   * Tests the access method.
   */
  public function testAccess() {
    $request = new Request([]);
    $route = new Route('/test-route', [], [
      '_access' => 'NULL',
    ]);
    $this->assertEquals(AccessResult::neutral(), $this->accessChecker
      ->access($route, $request, $this->account));
    $route = new Route('/test-route', [], [
      '_access' => 'FALSE',
    ]);
    $this->assertEquals(AccessResult::forbidden(), $this->accessChecker
      ->access($route, $request, $this->account));
    $route = new Route('/test-route', [], [
      '_access' => 'TRUE',
    ]);
    $this->assertEquals(AccessResult::allowed(), $this->accessChecker
      ->access($route, $request, $this->account));
  }

}

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