function UserBlocksTest::testUserLoginBlockVisibility

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