function UserBlocksTest::testUserLoginBlockVisibility

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

Tests that user login block is hidden from user/login.

File

core/modules/user/tests/src/Functional/UserBlocksTest.php, line 50

Class

UserBlocksTest
Tests user blocks.

Namespace

Drupal\Tests\user\Functional

Code

public function testUserLoginBlockVisibility() : void {
  // Array keyed list where key being the URL address and value being expected
  // visibility as boolean type.
  $paths = [
    'node' => TRUE,
    'user/login' => FALSE,
    'user/register' => TRUE,
    'user/password' => TRUE,
  ];
  foreach ($paths as $path => $expected_visibility) {
    $this->drupalGet($path);
    if ($expected_visibility) {
      $this->assertSession()
        ->elementExists('xpath', '//div[@id="block-user-blocks-test-user-login-block" and @role="form"]');
    }
    else {
      $this->assertSession()
        ->elementNotExists('xpath', '//div[@id="block-user-blocks-test-user-login-block" and @role="form"]');
    }
  }
}

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