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