public function RenderExampleMenuTest::testRenderExampleLinksExist in Examples for Developers 8
Same name and namespace in other branches
- 3.x modules/render_example/tests/src/Functional/RenderExampleMenuTest.php \Drupal\Tests\render_example\Functional\RenderExampleMenuTest::testRenderExampleLinksExist()
Verify and validate that default menu links were loaded for this module.
File
- render_example/
tests/ src/ Functional/ RenderExampleMenuTest.php, line 43
Class
- RenderExampleMenuTest
- Test the user-facing menus in Render Example.
Namespace
Drupal\Tests\render_example\FunctionalCode
public function testRenderExampleLinksExist() {
// Login a user that can access content.
$this
->drupalLogin($this
->createUser([
'access content',
'access user profiles',
]));
$assertion = $this
->assertSession();
// Routes with menu links, and their form buttons.
$routes = [
'render_example.description' => [],
'render_example.altering' => [
'Save configuration',
],
'render_example.arrays' => [],
];
// Ensure the links appear in the tools menu sidebar.
$this
->drupalGet('');
foreach (array_keys($routes) as $route) {
$assertion
->linkByHrefExists(Url::fromRoute($route)
->getInternalPath());
}
// Go to all the routes and click all the buttons.
$routes = array_merge($routes, $routes);
foreach ($routes as $route => $buttons) {
$path = Url::fromRoute($route);
$this
->drupalGet($path);
$assertion
->statusCodeEquals(200);
foreach ($buttons as $button) {
$this
->drupalPostForm($path, [], $button);
$assertion
->statusCodeEquals(200);
}
}
}