function LinkNotExistingInternalConstraintValidatorTest::testValidateFromNonExistingRoute

Same name and namespace in other branches
  1. 11.x core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php \Drupal\Tests\link\Unit\Plugin\Validation\Constraint\LinkNotExistingInternalConstraintValidatorTest::testValidateFromNonExistingRoute()
  2. 10 core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php \Drupal\Tests\link\Unit\Plugin\Validation\Constraint\LinkNotExistingInternalConstraintValidatorTest::testValidateFromNonExistingRoute()

Tests validate from non existing route.

File

core/modules/link/tests/src/Unit/Plugin/Validation/Constraint/LinkNotExistingInternalConstraintValidatorTest.php, line 74

Class

LinkNotExistingInternalConstraintValidatorTest
Tests Drupal\link\Plugin\Validation\Constraint\LinkNotExistingInternalConstraintValidator.

Namespace

Drupal\Tests\link\Unit\Plugin\Validation\Constraint

Code

public function testValidateFromNonExistingRoute() : void {
  $url = Url::fromRoute('example.not_existing_route');
  $urlGenerator = $this->createMock(UrlGeneratorInterface::class);
  $urlGenerator->expects($this->any())
    ->method('generateFromRoute')
    ->with('example.not_existing_route', [], [])
    ->willThrowException(new RouteNotFoundException());
  $url->setUrlGenerator($urlGenerator);
  $link = $this->createMock(LinkItemInterface::class);
  $link->expects($this->any())
    ->method('getUrl')
    ->willReturn($url);
  $constraintViolationBuilder = $this->createMock(ConstraintViolationBuilderInterface::class);
  $constraintViolationBuilder->method('atPath')
    ->with('uri')
    ->willReturn($constraintViolationBuilder);
  $context = $this->createMock(ExecutionContextInterface::class);
  $context->expects($this->once())
    ->method('buildViolation')
    ->willReturn($constraintViolationBuilder);
  $this->validate($link, $context);
}

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