function NavigationTopBarPageContextTest::testPageContextTopBarItemNode
Tests the PageContext top bar item output for a published node.
File
-
core/
modules/ navigation/ tests/ src/ Functional/ NavigationTopBarPageContextTest.php, line 65
Class
- NavigationTopBarPageContextTest
- Tests the PageContext top bar item functionality.
Namespace
Drupal\Tests\navigation\FunctionalCode
public function testPageContextTopBarItemNode() : void {
// Create a published node entity.
$node = $this->createNode([
'type' => 'article',
'title' => 'No easy twist on the bow',
'status' => 1,
'uid' => $this->adminUser
->id(),
]);
$test_page_url = Url::fromRoute('test_page_test.test_page');
$this->drupalGet($test_page_url);
// Ensure the top bar item is not present.
$this->assertSession()
->elementNotExists('css', '.top-bar .top-bar__context .toolbar-title');
// Test the PageContext output for the published node.
$this->drupalGet($node->toUrl());
// Ensure the top bar exists and is valid.
$this->assertSession()
->elementTextEquals('css', '.top-bar .top-bar__context .toolbar-title', 'No easy twist on the bow');
$this->assertSession()
->elementTextEquals('css', '.top-bar .top-bar__context .toolbar-badge', 'Published');
$this->drupalGet($node->toUrl('edit-form'));
// Ensure the top bar exists and is valid.
$this->assertSession()
->elementTextEquals('css', '.top-bar .top-bar__context .toolbar-title', 'No easy twist on the bow');
$this->assertSession()
->elementTextEquals('css', '.top-bar .top-bar__context .toolbar-badge', 'Published');
// Unpublish the node.
$node->setUnpublished();
$node->save();
// Test the PageContext output for the unpublished node.
$this->drupalGet($node->toUrl());
// Ensure the top bar exists and is valid.
$this->assertSession()
->elementTextEquals('css', '.top-bar .top-bar__context .toolbar-title', 'No easy twist on the bow');
$this->assertSession()
->elementTextEquals('css', '.top-bar .top-bar__context .toolbar-badge', 'Unpublished');
$this->drupalGet($node->toUrl('edit-form'));
// Ensure the top bar exists and is valid.
$this->assertSession()
->elementTextEquals('css', '.top-bar .top-bar__context .toolbar-title', 'No easy twist on the bow');
$this->assertSession()
->elementTextEquals('css', '.top-bar .top-bar__context .toolbar-badge', 'Unpublished');
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.