public function BreadcrumbTest::testBreadcrumbsFollowHierarchy in Entity Reference Hierarchy 3.x
Same name and namespace in other branches
- 8.2 modules/entity_hierarchy_breadcrumb/tests/src/Kernel/BreadcrumbTest.php \Drupal\Tests\entity_hierarchy_breadcrumb\Kernel\BreadcrumbTest::testBreadcrumbsFollowHierarchy()
Tests breadcrumb builder returns the hierarchy.
File
- modules/
entity_hierarchy_breadcrumb/ tests/ src/ Kernel/ BreadcrumbTest.php, line 94
Class
- BreadcrumbTest
- Tests for breadcrumbs built of entity hierarchy fields.
Namespace
Drupal\Tests\entity_hierarchy_breadcrumb\KernelCode
public function testBreadcrumbsFollowHierarchy() {
$entity_type = static::ENTITY_TYPE;
$children = $this
->createChildEntities($this->parent
->id(), 3);
$child = reset($children);
$grandchildren = $this
->createChildEntities($child
->id(), 3);
$grandchild = reset($grandchildren);
$route_match = new RouteMatch('test', $this->testRoute, [
$entity_type => $grandchild,
], [
$entity_type => $grandchild
->id(),
]);
$actual = $this->breadcrumbBuilder
->build($route_match);
$this
->assertNotEquals(0, $actual
->getCacheMaxAge());
$actual_links = $actual
->getLinks();
$expected_cache_tags = [
sprintf("%s:%s", $entity_type, $this->parent
->id()),
sprintf("%s:%s", $entity_type, $child
->id()),
sprintf("%s:%s", $entity_type, $grandchild
->id()),
];
$this
->assertEquals($expected_cache_tags, $actual
->getCacheTags());
$this
->assertEquals('Home', $actual_links[0]
->getText());
$this
->assertEquals('/', $actual_links[0]
->getUrl()
->toString());
$this
->assertEquals($this->parent
->label(), $actual_links[1]
->getText());
$this
->assertEquals($this->parent
->toUrl()
->toString(), $actual_links[1]
->getUrl()
->toString());
$this
->assertEquals($child
->label(), $actual_links[2]
->getText());
$this
->assertEquals($child
->toUrl()
->toString(), $actual_links[2]
->getUrl()
->toString());
$this
->assertEquals($grandchild
->label(), $actual_links[3]
->getText());
$this
->assertEquals('', $actual_links[3]
->getUrl()
->toString());
}