function EntityUrlTest::testToUrlUriCallbackUndefined

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php \Drupal\Tests\Core\Entity\EntityUrlTest::testToUrlUriCallbackUndefined()
  2. 10 core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php \Drupal\Tests\Core\Entity\EntityUrlTest::testToUrlUriCallbackUndefined()
  3. 11.x core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php \Drupal\Tests\Core\Entity\EntityUrlTest::testToUrlUriCallbackUndefined()

Tests the toUrl() method with neither link templates nor a URI callback.

@dataProvider providerTestToUrlUriCallbackUndefined

@covers ::toUrl @covers ::linkTemplates

Parameters

array $bundle_info: An array of bundle info to register.

string $uri_callback: The entity type URI callback to register.

File

core/tests/Drupal/Tests/Core/Entity/EntityUrlTest.php, line 311

Class

EntityUrlTest
Tests URL handling of the <a href="/api/drupal/core%21lib%21Drupal%21Core%21Entity%21Entity.php/class/Entity/8.9.x" title="Defines a base entity class." class="local">\Drupal\Core\Entity\Entity</a> class.

Namespace

Drupal\Tests\Core\Entity

Code

public function testToUrlUriCallbackUndefined(array $bundle_info, $uri_callback) {
    $entity = $this->getEntity(EntityBase::class, [
        'id' => $this->entityId,
    ]);
    $this->registerBundleInfo($bundle_info);
    $this->entityType
        ->getUriCallback()
        ->willReturn($uri_callback);
    $link_template = 'canonical';
    $this->expectException(UndefinedLinkTemplateException::class);
    $this->expectExceptionMessage("No link template '{$link_template}' found for the '{$this->entityTypeId}' entity type");
    $entity->toUrl($link_template);
}

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