function NoHelpTest::testMainPageNoHelp

Same name and namespace in other branches
  1. 9 core/modules/help/tests/src/Functional/NoHelpTest.php \Drupal\Tests\help\Functional\NoHelpTest::testMainPageNoHelp()
  2. 8.9.x core/modules/help/tests/src/Functional/NoHelpTest.php \Drupal\Tests\help\Functional\NoHelpTest::testMainPageNoHelp()
  3. 11.x core/modules/help/tests/src/Functional/NoHelpTest.php \Drupal\Tests\help\Functional\NoHelpTest::testMainPageNoHelp()

Ensures modules not implementing help do not appear on admin/help.

File

core/modules/help/tests/src/Functional/NoHelpTest.php, line 46

Class

NoHelpTest
Verify no help is displayed for modules not providing any help.

Namespace

Drupal\Tests\help\Functional

Code

public function testMainPageNoHelp() : void {
  $this->drupalLogin($this->adminUser);
  $this->drupalGet('admin/help');
  $this->assertSession()
    ->statusCodeEquals(200);
  $this->assertSession()
    ->pageTextContains('Module overviews are provided by modules');
  $this->assertFalse(\Drupal::moduleHandler()->hasImplementations('help', 'menu_test'), 'The menu_test module does not implement hook_help');
  // Make sure the test module menu_test does not display a help link on
  // admin/help.
  $this->assertSession()
    ->pageTextNotContains(\Drupal::service('extension.list.module')->getName('menu_test'));
  // Ensure that the module overview help page for a module that does not
  // implement hook_help() results in a 404.
  $this->drupalGet('admin/help/menu_test');
  $this->assertSession()
    ->statusCodeEquals(404);
}

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