function NoHelpTest::testMainPageNoHelp

Same name 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.