diff --git a/core/modules/menu_link_content/tests/src/Functional/LinksTest.php b/core/modules/menu_link_content/tests/src/Functional/LinksTest.php index 5a7121a..0fbe4a4 100644 --- a/core/modules/menu_link_content/tests/src/Functional/LinksTest.php +++ b/core/modules/menu_link_content/tests/src/Functional/LinksTest.php @@ -3,9 +3,11 @@ namespace Drupal\Tests\menu_link_content\Functional; use Drupal\Component\Utility\SafeMarkup; +use Drupal\Core\Menu\MenuTreeParameters; use Drupal\menu_link_content\Entity\MenuLinkContent; -use Drupal\Tests\BrowserTestBase; use Drupal\system\Entity\Menu; +use Drupal\Tests\BrowserTestBase; +use Drupal\user\Entity\User; /** * Tests handling of menu links hierarchies. @@ -141,6 +143,21 @@ public function testCreateLink() { } /** + * Tests that menu link pointing to entities get removed on entity remove. + */ + public function testMenuLinkOnEntityDelete() { + $user = User::create(['name' => 'username']); + $user->save(); + $menu_link_content = MenuLinkContent::create(['menu_name' => 'menu_test', 'link' => [['uri' => 'entity:user/' . $user->id()]], 'bundle' => 'menu_test']); + $menu_link_content->save(); + $menu_tree_condition = (new MenuTreeParameters())->addCondition('route_name', 'entity.user.canonical'); + $this->assertCount(1, \Drupal::menuTree()->load('menu_test', $menu_tree_condition)); + + $user->delete(); + $this->assertCount(0, \Drupal::menuTree()->load('menu_test', $menu_tree_condition)); + } + + /** * Test automatic reparenting of menu links. */ public function testMenuLinkReparenting($module = 'menu_test') {