function UserBlocksTest::testUserLoginBlockVisibility

Same name and namespace in other branches
  1. 11.x core/modules/user/tests/src/Functional/UserBlocksTest.php \Drupal\Tests\user\Functional\UserBlocksTest::testUserLoginBlockVisibility()
  2. 10 core/modules/user/tests/src/Functional/UserBlocksTest.php \Drupal\Tests\user\Functional\UserBlocksTest::testUserLoginBlockVisibility()
  3. 9 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 47

Class

UserBlocksTest
Tests user blocks.

Namespace

Drupal\Tests\user\Functional

Code

public function testUserLoginBlockVisibility() {
  // 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);
    $elements = $this->xpath('//div[contains(@class,"block-user-login-block") and @role="form"]');
    if ($expected_visibility) {
      $this->assertTrue(!empty($elements), 'User login block in path "' . $path . '" should be visible');
    }
    else {
      $this->assertTrue(empty($elements), 'User login block in path "' . $path . '" should not be visible');
    }
  }
}

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