annotate core/modules/user/tests/src/Kernel/UserEntityLabelCallbackTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
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 }