3 namespace Drupal\Tests\views\Kernel\Plugin\Display;
5 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
12 class ViewsMenuLinkTest extends ViewsKernelTestBase {
17 public static $modules = [
26 public static $testViews = ['test_page_display_menu'];
31 * @var \Drupal\Core\Entity\EntityManagerInterface
33 protected $entityManager;
36 * The menu link manager.
38 * @var \Drupal\Core\Menu\MenuLinkManagerInterface
40 protected $menuLinkManager;
43 * The menu link overrides.
45 * @var \Drupal\Core\Menu\StaticMenuLinkOverridesInterface
47 protected $menuLinkOverrides;
52 protected function setUp($import_test_views = TRUE) {
53 parent::setUp($import_test_views);
55 $this->entityManager = $this->container->get('entity.manager');
56 $this->menuLinkManager = $this->container->get('plugin.manager.menu.link');
57 $this->menuLinkOverrides = $this->container->get('menu_link.static.overrides');
61 * Test views internal menu link options.
63 public function testMenuLinkOverrides() {
64 // Link from views module.
65 $views_link = $this->menuLinkManager->getDefinition('views_view:views.test_page_display_menu.page_3');
66 $this->assertTrue($views_link['enabled'], 'Menu link is enabled.');
67 $this->assertFalse($views_link['expanded'], 'Menu link is not expanded.');
68 $views_link['enabled'] = 0;
69 $views_link['expanded'] = 1;
70 $this->menuLinkManager->updateDefinition($views_link['id'], $views_link);
71 $views_link = $this->menuLinkManager->getDefinition($views_link['id']);
72 $this->assertFalse($views_link['enabled'], 'Menu link is disabled.');
73 $this->assertTrue($views_link['expanded'], 'Menu link is expanded.');
74 $this->menuLinkManager->rebuild();
75 $this->assertFalse($views_link['enabled'], 'Menu link is disabled.');
76 $this->assertTrue($views_link['expanded'], 'Menu link is expanded.');
78 // Link from user module.
79 $user_link = $this->menuLinkManager->getDefinition('user.page');
80 $this->assertTrue($user_link['enabled'], 'Menu link is enabled.');
81 $user_link['enabled'] = 0;
82 $views_link['expanded'] = 1;
83 $this->menuLinkManager->updateDefinition($user_link['id'], $user_link);
84 $this->assertFalse($user_link['enabled'], 'Menu link is disabled.');
85 $this->menuLinkManager->rebuild();
86 $this->assertFalse($user_link['enabled'], 'Menu link is disabled.');
88 $this->menuLinkOverrides->reload();
90 $views_link = $this->menuLinkManager->getDefinition('views_view:views.test_page_display_menu.page_3');
91 $this->assertFalse($views_link['enabled'], 'Menu link is disabled.');
92 $this->assertTrue($views_link['expanded'], 'Menu link is expanded.');
94 $user_link = $this->menuLinkManager->getDefinition('user.page');
95 $this->assertFalse($user_link['enabled'], 'Menu link is disabled.');