3 namespace Drupal\Tests\menu_link_content\Functional;
5 use Drupal\menu_link_content\Entity\MenuLinkContent;
6 use Drupal\system\Entity\Menu;
7 use Drupal\Tests\BrowserTestBase;
10 * Tests the menu link content delete UI.
14 class MenuLinkContentDeleteFormTest extends BrowserTestBase {
21 public static $modules = ['menu_link_content'];
26 protected function setUp() {
28 $web_user = $this->drupalCreateUser(['administer menu']);
29 $this->drupalLogin($web_user);
33 * Tests the MenuLinkContentDeleteForm class.
35 public function testMenuLinkContentDeleteForm() {
37 $this->drupalPostForm(
38 'admin/structure/menu/manage/admin/add',
40 'title[0][value]' => t('Front page'),
41 'link[0][uri]' => '<front>',
45 $this->assertText(t('The menu link has been saved.'));
47 $menu_link = MenuLinkContent::load(1);
48 $this->drupalGet($menu_link->urlInfo('delete-form'));
49 $this->assertRaw(t('Are you sure you want to delete the custom menu link %name?', ['%name' => $menu_link->label()]));
50 $this->assertLink(t('Cancel'));
51 // Make sure cancel link points to link edit
52 $this->assertLinkByHref($menu_link->url('edit-form'));
54 \Drupal::service('module_installer')->install(['menu_ui']);
55 \Drupal::service('router.builder')->rebuild();
57 // Make sure cancel URL points to menu_ui route now.
58 $this->drupalGet($menu_link->urlInfo('delete-form'));
59 $menu = Menu::load($menu_link->getMenuName());
60 $this->assertLinkByHref($menu->url('edit-form'));
61 $this->drupalPostForm(NULL, [], t('Delete'));
62 $this->assertRaw(t('The menu link %title has been deleted.', ['%title' => $menu_link->label()]));