function NavigationDefaultBlockDefinitionTest::testNavigationDefaultBeforeNavigation

Tests the default block flow enabling the block provider module first.

File

core/modules/navigation/tests/src/Functional/NavigationDefaultBlockDefinitionTest.php, line 51

Class

NavigationDefaultBlockDefinitionTest
Tests the default block provider logic.

Namespace

Drupal\Tests\navigation\Functional

Code

public function testNavigationDefaultBeforeNavigation() : void {
  $test_page_url = Url::fromRoute('test_page_test.test_page');
  $module_installer = \Drupal::service('module_installer');
  // After installing Navigation Test Block, none of the elements are present.
  $module_installer->install([
    'navigation_test_block',
  ]);
  $this->drupalGet($test_page_url);
  $this->assertSession()
    ->elementNotExists('css', '.admin-toolbar');
  $this->assertSession()
    ->elementNotExists('css', '.toolbar-button--icon--test-block');
  // After installing Navigation, both elements are present.
  $module_installer->install([
    'navigation',
  ]);
  $this->drupalLogin($this->drupalCreateUser([
    'access navigation',
  ]));
  $this->drupalGet($test_page_url);
  $this->assertSession()
    ->elementExists('css', '.admin-toolbar');
  $this->assertSession()
    ->elementContains('css', '.toolbar-button--icon--test-block', 'Test Navigation Block');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.