You are here

public function PathValidatorTest::testIsValidWithAccessDenied in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Path/PathValidatorTest.php \Drupal\Tests\Core\Path\PathValidatorTest::testIsValidWithAccessDenied()

Tests the isValid() method with a user without access to the path.

@covers ::isValid @covers ::getPathAttributes

File

core/tests/Drupal/Tests/Core/Path/PathValidatorTest.php, line 192

Class

PathValidatorTest
@coversDefaultClass \Drupal\Core\Path\PathValidator @group Routing

Namespace

Drupal\Tests\Core\Path

Code

public function testIsValidWithAccessDenied() {
  $this->account
    ->expects($this
    ->once())
    ->method('hasPermission')
    ->with('link to any page')
    ->willReturn(FALSE);
  $this->accessUnawareRouter
    ->expects($this
    ->never())
    ->method('match');
  $this->accessAwareRouter
    ->expects($this
    ->once())
    ->method('match')
    ->with('/test-path')
    ->willThrowException(new AccessDeniedHttpException());
  $this->pathProcessor
    ->expects($this
    ->once())
    ->method('processInbound')
    ->willReturnArgument(0);
  $this
    ->assertFalse($this->pathValidator
    ->isValid('test-path'));
}