Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 namespace Drupal\Tests\user\Kernel;
|
Chris@0
|
4
|
Chris@0
|
5 use Drupal\KernelTests\KernelTestBase;
|
Chris@0
|
6 use Drupal\user\Entity\User;
|
Chris@0
|
7 use Drupal\user\RoleInterface;
|
Chris@0
|
8
|
Chris@0
|
9 /**
|
Chris@0
|
10 * Tests the user entity class.
|
Chris@0
|
11 *
|
Chris@0
|
12 * @group user
|
Chris@0
|
13 * @see \Drupal\user\Entity\User
|
Chris@0
|
14 */
|
Chris@0
|
15 class UserEntityTest extends KernelTestBase {
|
Chris@0
|
16
|
Chris@0
|
17 /**
|
Chris@0
|
18 * Modules to enable.
|
Chris@0
|
19 *
|
Chris@0
|
20 * @var array
|
Chris@0
|
21 */
|
Chris@0
|
22 public static $modules = ['system', 'user', 'field'];
|
Chris@0
|
23
|
Chris@0
|
24 /**
|
Chris@0
|
25 * Tests some of the methods.
|
Chris@0
|
26 *
|
Chris@0
|
27 * @see \Drupal\user\Entity\User::getRoles()
|
Chris@0
|
28 * @see \Drupal\user\Entity\User::addRole()
|
Chris@0
|
29 * @see \Drupal\user\Entity\User::removeRole()
|
Chris@0
|
30 */
|
Chris@0
|
31 public function testUserMethods() {
|
Chris@0
|
32 $role_storage = $this->container->get('entity.manager')->getStorage('user_role');
|
Chris@0
|
33 $role_storage->create(['id' => 'test_role_one'])->save();
|
Chris@0
|
34 $role_storage->create(['id' => 'test_role_two'])->save();
|
Chris@0
|
35 $role_storage->create(['id' => 'test_role_three'])->save();
|
Chris@0
|
36
|
Chris@0
|
37 $values = [
|
Chris@0
|
38 'uid' => 1,
|
Chris@0
|
39 'roles' => ['test_role_one'],
|
Chris@0
|
40 ];
|
Chris@0
|
41 $user = User::create($values);
|
Chris@0
|
42
|
Chris@0
|
43 $this->assertTrue($user->hasRole('test_role_one'));
|
Chris@0
|
44 $this->assertFalse($user->hasRole('test_role_two'));
|
Chris@0
|
45 $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_one'], $user->getRoles());
|
Chris@0
|
46
|
Chris@0
|
47 $user->addRole('test_role_one');
|
Chris@0
|
48 $this->assertTrue($user->hasRole('test_role_one'));
|
Chris@0
|
49 $this->assertFalse($user->hasRole('test_role_two'));
|
Chris@0
|
50 $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_one'], $user->getRoles());
|
Chris@0
|
51
|
Chris@0
|
52 $user->addRole('test_role_two');
|
Chris@0
|
53 $this->assertTrue($user->hasRole('test_role_one'));
|
Chris@0
|
54 $this->assertTrue($user->hasRole('test_role_two'));
|
Chris@0
|
55 $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_one', 'test_role_two'], $user->getRoles());
|
Chris@0
|
56
|
Chris@0
|
57 $user->removeRole('test_role_three');
|
Chris@0
|
58 $this->assertTrue($user->hasRole('test_role_one'));
|
Chris@0
|
59 $this->assertTrue($user->hasRole('test_role_two'));
|
Chris@0
|
60 $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_one', 'test_role_two'], $user->getRoles());
|
Chris@0
|
61
|
Chris@0
|
62 $user->removeRole('test_role_one');
|
Chris@0
|
63 $this->assertFalse($user->hasRole('test_role_one'));
|
Chris@0
|
64 $this->assertTrue($user->hasRole('test_role_two'));
|
Chris@0
|
65 $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_two'], $user->getRoles());
|
Chris@0
|
66 }
|
Chris@0
|
67
|
Chris@0
|
68 }
|