You are here

protected function MenuActiveTrail403Test::setUp in Drupal 9

Overrides BrowserTestBase::setUp

File

core/tests/Drupal/FunctionalTests/Menu/MenuActiveTrail403Test.php, line 43

Class

MenuActiveTrail403Test
Tests that 403 active trail behavior does not overwrite original entry.

Namespace

Drupal\FunctionalTests\Menu

Code

protected function setUp() : void {
  parent::setUp();

  // Place the menu block, so menu trail gets built and cached. Showing the
  // menu starting from the second level, so it is only shown when the active
  // trail matches.
  $this
    ->drupalPlaceBlock('system_menu_block:' . $this->menu, [
    'level' => 2,
  ]);

  // Menu content, where the privileged user has access and the anonymous does
  // not have access. This route will be visited by both users. The privileged
  // user should see the menu with the menu content item created below.
  $parent_menu_link_content = MenuLinkContent::create([
    'title' => 'Admin overview',
    'menu_name' => 'footer',
    'link' => [
      'uri' => 'route:system.admin',
    ],
  ]);
  $parent_menu_link_content
    ->save();

  // Menu content for the second level, which should be shown in the menu for
  // the privileged user.
  $menu_link_content = MenuLinkContent::create([
    'title' => 'Link to Status page',
    'menu_name' => 'footer',
    'link' => [
      'uri' => 'route:system.status',
    ],
    'parent' => 'menu_link_content:' . $parent_menu_link_content
      ->uuid(),
  ]);
  $menu_link_content
    ->save();
  $privileged_permissions = [
    'access administration pages',
    'administer site configuration',
  ];

  // Create a user who can access system.status and system.admin.
  $this->privilegedUser = $this
    ->drupalCreateUser($privileged_permissions);
}