You are here

public function ModulesListFormWebTest::testModuleListForm in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php \Drupal\Tests\system\Functional\Form\ModulesListFormWebTest::testModuleListForm()
  2. 10 core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php \Drupal\Tests\system\Functional\Form\ModulesListFormWebTest::testModuleListForm()

Tests the module list form.

File

core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php, line 40

Class

ModulesListFormWebTest
Tests \Drupal\system\Form\ModulesListForm.

Namespace

Drupal\Tests\system\Functional\Form

Code

public function testModuleListForm() {
  $this
    ->drupalGet('admin/modules');

  // Check that system_test's configure link was rendered correctly.
  $this
    ->assertSession()
    ->elementExists('xpath', "//a[contains(@href, '/system-test/configure/bar') and text()='Configure ']/span[contains(@class, 'visually-hidden') and text()='the System test module']");

  // Check that system_test's permissions link was rendered correctly.
  $this
    ->assertSession()
    ->elementExists('xpath', "//a[contains(@href, '/admin/people/permissions#module-system_test') and @title='Configure permissions']");

  // Check that system_test's help link was rendered correctly.
  $this
    ->assertSession()
    ->elementExists('xpath', "//a[contains(@href, '/admin/help/system_test') and @title='Help']");

  // Ensure that the Database Logging module's machine name is printed. This
  // module is used because its machine name is different than its human
  // readable name.
  $this
    ->assertSession()
    ->pageTextContains('dblog');
}