public function MenuLinkTest::testHierarchicalMenuLinkVisibility in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/views/src/Tests/Plugin/MenuLinkTest.php \Drupal\views\Tests\Plugin\MenuLinkTest::testHierarchicalMenuLinkVisibility()
Test that menu links using menu_link_content as parent are visible.
File
- core/
modules/ views/ src/ Tests/ Plugin/ MenuLinkTest.php, line 57 - Contains \Drupal\views\Tests\Plugin\MenuLinkTest.
Class
- MenuLinkTest
- Tests the menu links created in views.
Namespace
Drupal\views\Tests\PluginCode
public function testHierarchicalMenuLinkVisibility() {
$this
->drupalLogin($this->adminUser);
$node = $this
->drupalCreateNode([
'type' => 'page',
]);
// Create a primary level menu link to the node.
$link = MenuLinkContent::create([
'title' => 'Primary level node',
'menu_name' => 'main',
'bundle' => 'menu_link_content',
'parent' => '',
'link' => [
[
'uri' => 'entity:node/' . $node
->id(),
],
],
]);
$link
->save();
$parent_menu_value = 'main:menu_link_content:' . $link
->uuid();
// Alter the view's menu link in view page to use the menu link from the
// node as parent.
$this
->drupalPostForm("admin/structure/views/nojs/display/test_menu_link/page_1/menu", [
'menu[type]' => 'normal',
'menu[title]' => 'Secondary level view page',
'menu[parent]' => $parent_menu_value,
], 'Apply');
// Save view which has pending changes.
$this
->drupalPostForm(NULL, [], 'Save');
// Test if the node as parent menu item is selected in our views settings.
$this
->drupalGet('admin/structure/views/nojs/display/test_menu_link/page_1/menu');
$this
->assertOptionSelected('edit-menu-parent', $parent_menu_value);
$this
->drupalGet('');
// Test if the primary menu item (node) is visible, and the secondary menu
// item (view) is hidden.
$this
->assertText('Primary level node');
$this
->assertNoText('Secondary level view page');
// Go to the node page and ensure that both the first and second level items
// are visible.
$this
->drupalGet($node
->urlInfo());
$this
->assertText('Primary level node');
$this
->assertText('Secondary level view page');
}