You are here

function UserEntityCallbacksTest::testLabelCallback in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/user/src/Tests/UserEntityCallbacksTest.php \Drupal\user\Tests\UserEntityCallbacksTest::testLabelCallback()

Test label callback.

File

core/modules/user/src/Tests/UserEntityCallbacksTest.php, line 51
Contains \Drupal\user\Tests\UserEntityCallbacksTest.

Class

UserEntityCallbacksTest
Tests specific parts of the user entity like the URI callback and the label callback.

Namespace

Drupal\user\Tests

Code

function testLabelCallback() {
  $this
    ->assertEqual($this->account
    ->label(), $this->account
    ->getUsername(), 'The username should be used as label');

  // Setup a random anonymous name to be sure the name is used.
  $name = $this
    ->randomMachineName();
  $this
    ->config('user.settings')
    ->set('anonymous', $name)
    ->save();
  $this
    ->assertEqual($this->anonymous
    ->label(), $name, 'The variable anonymous should be used for name of uid 0');
  $this
    ->assertEqual($this->anonymous
    ->getDisplayName(), $name, 'The variable anonymous should be used for display name of uid 0');
  $this
    ->assertEqual($this->anonymous
    ->getUserName(), '', 'The raw anonymous user name should be empty string');

  // Set to test the altered username.
  \Drupal::state()
    ->set('user_hooks_test_user_format_name_alter', TRUE);
  $this
    ->assertEqual($this->account
    ->getDisplayName(), '<em>' . $this->account
    ->id() . '</em>', 'The user display name should be altered.');
  $this
    ->assertEqual($this->account
    ->getUsername(), $this->account->name->value, 'The user name should not be altered.');
}