class MenuTest
Same name in this branch
- 9 core/modules/jsonapi/tests/src/Functional/MenuTest.php \Drupal\Tests\jsonapi\Functional\MenuTest
- 9 core/modules/system/tests/src/Kernel/Plugin/migrate/source/MenuTest.php \Drupal\Tests\system\Kernel\Plugin\migrate\source\MenuTest
Same name and namespace in other branches
- 11.x core/modules/jsonapi/tests/src/Functional/MenuTest.php \Drupal\Tests\jsonapi\Functional\MenuTest
- 11.x core/modules/views/tests/src/Functional/Wizard/MenuTest.php \Drupal\Tests\views\Functional\Wizard\MenuTest
- 11.x core/modules/system/tests/src/Kernel/Plugin/migrate/source/MenuTest.php \Drupal\Tests\system\Kernel\Plugin\migrate\source\MenuTest
- 11.x core/modules/migrate_drupal_ui/tests/modules/migrate_drupal_message_test/src/Plugin/migrate/source/MenuTest.php \Drupal\migrate_drupal_message_test\Plugin\migrate\source\MenuTest
Tests the ability of the views wizard to put views in a menu.
@group views
Hierarchy
- class \Drupal\Tests\BrowserTestBase uses \Drupal\Core\Test\FunctionalTestSetupTrait, \Drupal\Tests\UiHelperTrait, \Drupal\Core\Test\TestSetupTrait, \Drupal\Tests\block\Traits\BlockCreationTrait, \Drupal\FunctionalTests\AssertLegacyTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\node\Traits\NodeCreationTrait, \Drupal\Tests\node\Traits\ContentTypeCreationTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\user\Traits\UserCreationTrait, \Drupal\Tests\XdebugRequestTrait, \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, \Drupal\Tests\ExtensionListTestTrait implements \PHPUnit\Framework\TestCase
- class \Drupal\Tests\views\Functional\ViewTestBase uses \Drupal\views\Tests\ViewResultAssertionTrait implements \Drupal\Tests\BrowserTestBase
- class \Drupal\Tests\views\Functional\Wizard\WizardTestBase implements \Drupal\Tests\views\Functional\ViewTestBase
- class \Drupal\Tests\views\Functional\Wizard\MenuTest implements \Drupal\Tests\views\Functional\Wizard\WizardTestBase
- class \Drupal\Tests\views\Functional\Wizard\WizardTestBase implements \Drupal\Tests\views\Functional\ViewTestBase
- class \Drupal\Tests\views\Functional\ViewTestBase uses \Drupal\views\Tests\ViewResultAssertionTrait implements \Drupal\Tests\BrowserTestBase
Expanded class hierarchy of MenuTest
File
-
core/
modules/ views/ tests/ src/ Functional/ Wizard/ MenuTest.php, line 13
Namespace
Drupal\Tests\views\Functional\WizardView source
class MenuTest extends WizardTestBase {
/**
* {@inheritdoc}
*/
protected $defaultTheme = 'stark';
/**
* Tests the menu functionality.
*/
public function testMenus() {
$this->drupalPlaceBlock('system_menu_block:main');
// Create a view with a page display and a menu link in the Main Menu.
$view = [];
$view['label'] = $this->randomMachineName(16);
$view['id'] = strtolower($this->randomMachineName(16));
$view['description'] = $this->randomMachineName(16);
$view['page[create]'] = 1;
$view['page[title]'] = $this->randomMachineName(16);
$view['page[path]'] = $this->randomMachineName(16);
$view['page[link]'] = 1;
$view['page[link_properties][parent]'] = 'main:';
$view['page[link_properties][title]'] = $this->randomMachineName(16);
$this->drupalGet('admin/structure/views/add');
$this->submitForm($view, 'Save and edit');
// Make sure there is a link to the view from the front page (where we
// expect the main menu to display).
$this->drupalGet('');
$this->assertSession()
->statusCodeEquals(200);
$this->assertSession()
->linkExists($view['page[link_properties][title]']);
$this->assertSession()
->linkByHrefExists(Url::fromUri('base:' . $view['page[path]'])->toString());
// Make sure the link is associated with the main menu.
/** @var \Drupal\Core\Menu\MenuLinkManagerInterface $menu_link_manager */
$menu_link_manager = \Drupal::service('plugin.manager.menu.link');
/** @var \Drupal\Core\Menu\MenuLinkInterface $link */
$link = $menu_link_manager->createInstance('views_view:views.' . $view['id'] . '.page_1');
$url = $link->getUrlObject();
$this->assertEquals('view.' . $view['id'] . '.page_1', $url->getRouteName(), new FormattableMarkup('Found a link to %path in the main menu', [
'%path' => $view['page[path]'],
]));
$metadata = $link->getMetaData();
$this->assertEquals([
'view_id' => $view['id'],
'display_id' => 'page_1',
], $metadata);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.