class LinkNotExistingInternalConstraintValidatorTest
Tests Drupal\link\Plugin\Validation\Constraint\LinkNotExistingInternalConstraintValidator.
Attributes
#[CoversClass(LinkNotExistingInternalConstraintValidator::class)]
#[Group('Link')]
  Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait extends \PHPUnit\Framework\TestCase- class \Drupal\Tests\link\Unit\Plugin\Validation\Constraint\LinkNotExistingInternalConstraintValidatorTest extends \Drupal\Tests\UnitTestCase
 
Expanded class hierarchy of LinkNotExistingInternalConstraintValidatorTest
File
- 
              core/modules/ link/ tests/ src/ Unit/ Plugin/ Validation/ Constraint/ LinkNotExistingInternalConstraintValidatorTest.php, line 23 
Namespace
Drupal\Tests\link\Unit\Plugin\Validation\ConstraintView source
class LinkNotExistingInternalConstraintValidatorTest extends UnitTestCase {
  
  /**
   * Tests validate from uri.
   *
   * @legacy-covers ::validate
   */
  public function testValidateFromUri() : void {
    $url = Url::fromUri('https://www.drupal.org');
    $link = $this->createMock(LinkItemInterface::class);
    $link->expects($this->any())
      ->method('getUrl')
      ->willReturn($url);
    $context = $this->createMock(ExecutionContextInterface::class);
    $context->expects($this->never())
      ->method('buildViolation');
    $this->validate($link, $context);
  }
  
  /**
   * Tests validate from route.
   *
   * @legacy-covers ::validate
   */
  public function testValidateFromRoute() : void {
    $url = Url::fromRoute('example.existing_route');
    $urlGenerator = $this->createMock(UrlGeneratorInterface::class);
    $urlGenerator->expects($this->any())
      ->method('generateFromRoute')
      ->with('example.existing_route', [], [])
      ->willReturn('/example/existing');
    $url->setUrlGenerator($urlGenerator);
    $link = $this->createMock(LinkItemInterface::class);
    $link->expects($this->any())
      ->method('getUrl')
      ->willReturn($url);
    $context = $this->createMock(ExecutionContextInterface::class);
    $context->expects($this->never())
      ->method('buildViolation');
    $this->validate($link, $context);
  }
  
  /**
   * Tests validate from non existing route.
   *
   * @legacy-covers ::validate
   */
  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);
  }
  
  /**
   * Tests validate with malformed uri.
   *
   * @see \Drupal\Core\Url::fromUri
   * @legacy-covers ::validate
   */
  public function testValidateWithMalformedUri() : void {
    $link = $this->createMock(LinkItemInterface::class);
    $link->expects($this->any())
      ->method('getUrl')
      ->willThrowException(new \InvalidArgumentException());
    $context = $this->createMock(ExecutionContextInterface::class);
    $context->expects($this->never())
      ->method('buildViolation');
    $this->validate($link, $context);
  }
  
  /**
   * Validate the link.
   */
  protected function validate(LinkItemInterface&MockObject $link, ExecutionContextInterface&MockObject $context) : void {
    $validator = new LinkNotExistingInternalConstraintValidator();
    $validator->initialize($context);
    $validator->validate($link, new LinkNotExistingInternalConstraint());
  }
}Members
| Title Sort descending | Modifiers | Object type | Summary | Overrides | 
|---|---|---|---|---|
| ExpectDeprecationTrait::expectDeprecation | public | function | Adds an expected deprecation. | |
| ExpectDeprecationTrait::setUpErrorHandler | public | function | Sets up the test error handler. | |
| ExpectDeprecationTrait::tearDownErrorHandler | public | function | Tears down the test error handler. | |
| LinkNotExistingInternalConstraintValidatorTest::testValidateFromNonExistingRoute | public | function | Tests validate from non existing route. | |
| LinkNotExistingInternalConstraintValidatorTest::testValidateFromRoute | public | function | Tests validate from route. | |
| LinkNotExistingInternalConstraintValidatorTest::testValidateFromUri | public | function | Tests validate from uri. | |
| LinkNotExistingInternalConstraintValidatorTest::testValidateWithMalformedUri | public | function | Tests validate with malformed uri. | |
| LinkNotExistingInternalConstraintValidatorTest::validate | protected | function | Validate the link. | |
| RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |
| RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | |
| RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | |
| RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | |
| UnitTestCase::$root | protected | property | The app root. | |
| UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |
| UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |
| UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |
| UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |
| UnitTestCase::setDebugDumpHandler | public static | function | Registers the dumper CLI handler when the DebugDump extension is enabled. | |
| UnitTestCase::setUp | protected | function | 366 | |
| UnitTestCase::setupMockIterator | protected | function | Set up a traversable class mock to return specific items when iterated. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
