annotate core/modules/user/tests/src/Kernel/UserEntityLabelCallbackTest.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents
children
rev   line source
Chris@5 1 <?php
Chris@5 2
Chris@5 3 namespace Drupal\Tests\user\Kernel;
Chris@5 4
Chris@5 5 use Drupal\KernelTests\KernelTestBase;
Chris@5 6 use Drupal\Tests\user\Traits\UserCreationTrait;
Chris@5 7 use Drupal\user\Entity\User;
Chris@5 8
Chris@5 9 /**
Chris@5 10 * Tests the label callback.
Chris@5 11 *
Chris@5 12 * @group user
Chris@5 13 */
Chris@5 14 class UserEntityLabelCallbackTest extends KernelTestBase {
Chris@5 15
Chris@5 16 use UserCreationTrait;
Chris@5 17
Chris@5 18 /**
Chris@5 19 * {@inheritdoc}
Chris@5 20 */
Chris@5 21 protected static $modules = [
Chris@5 22 'system',
Chris@5 23 'user',
Chris@5 24 'user_hooks_test',
Chris@5 25 ];
Chris@5 26
Chris@5 27 /**
Chris@5 28 * Tests label callback.
Chris@5 29 */
Chris@5 30 public function testLabelCallback() {
Chris@5 31 $this->installSchema('system', ['sequences']);
Chris@5 32 $this->installEntitySchema('user');
Chris@5 33
Chris@5 34 $account = $this->createUser();
Chris@5 35 $anonymous = User::create(['uid' => 0]);
Chris@5 36
Chris@5 37 $this->assertEquals($account->getAccountName(), $account->label());
Chris@5 38
Chris@5 39 // Setup a random anonymous name to be sure the name is used.
Chris@5 40 $name = $this->randomMachineName();
Chris@5 41 $this->config('user.settings')->set('anonymous', $name)->save();
Chris@5 42 $this->assertEquals($name, $anonymous->label());
Chris@5 43 $this->assertEquals($name, $anonymous->getDisplayName());
Chris@5 44 $this->assertEmpty($anonymous->getAccountName());
Chris@5 45
Chris@5 46 // Set to test the altered username.
Chris@5 47 \Drupal::state()->set('user_hooks_test_user_format_name_alter', TRUE);
Chris@5 48
Chris@5 49 // The user display name should be altered.
Chris@5 50 $this->assertEquals('<em>' . $account->id() . '</em>', $account->getDisplayName());
Chris@5 51 // The user login name should not be altered.
Chris@5 52 $this->assertEquals($account->name->value, $account->getAccountName());
Chris@5 53 }
Chris@5 54
Chris@5 55 }