protected function MenuUiJavascriptTest::addMenuLink in Drupal 9
Same name and namespace in other branches
- 8 core/modules/menu_ui/tests/src/FunctionalJavascript/MenuUiJavascriptTest.php \Drupal\Tests\menu_ui\FunctionalJavascript\MenuUiJavascriptTest::addMenuLink()
Adds a menu link using the UI.
Parameters
string $parent: Optional parent menu link id.
string $path: The path to enter on the form. Defaults to the front page.
string $menu_id: Menu ID. Defaults to 'tools'.
bool $expanded: Whether or not this menu link is expanded. Setting this to TRUE should test whether it works when we do the authenticatedUser tests. Defaults to FALSE.
string $weight: Menu weight. Defaults to 0.
Return value
\Drupal\menu_link_content\Entity\MenuLinkContent A menu link entity.
1 call to MenuUiJavascriptTest::addMenuLink()
- MenuUiJavascriptTest::testBlockContextualLinks in core/
modules/ menu_ui/ tests/ src/ FunctionalJavascript/ MenuUiJavascriptTest.php - Tests the contextual links on a menu block.
File
- core/
modules/ menu_ui/ tests/ src/ FunctionalJavascript/ MenuUiJavascriptTest.php, line 129
Class
- MenuUiJavascriptTest
- Tests custom menu and menu links operations using the UI.
Namespace
Drupal\Tests\menu_ui\FunctionalJavascriptCode
protected function addMenuLink($parent = '', $path = '/', $menu_id = 'tools', $expanded = FALSE, $weight = '0') {
// View add menu link page.
$this
->drupalGet("admin/structure/menu/manage/{$menu_id}/add");
$title = '!link_' . $this
->randomMachineName(16);
$edit = [
'link[0][uri]' => $path,
'title[0][value]' => $title,
'description[0][value]' => '',
'enabled[value]' => 1,
'expanded[value]' => $expanded,
'menu_parent' => $menu_id . ':' . $parent,
'weight[0][value]' => $weight,
];
// Add menu link.
$this
->submitForm($edit, 'Save');
$this
->assertSession()
->pageTextContains('The menu link has been saved.');
$storage = $this->container
->get('entity_type.manager')
->getStorage('menu_link_content');
$menu_links = $storage
->loadByProperties([
'title' => $title,
]);
$menu_link = reset($menu_links);
// Check that the stored menu link meeting the expectations.
$this
->assertNotNull($menu_link);
$this
->assertMenuLink([
'menu_name' => $menu_id,
'children' => [],
'parent' => $parent,
], $menu_link
->getPluginId());
return $menu_link;
}