comparison core/modules/user/tests/src/Kernel/UserEntityTest.php @ 0:4c8ae668cc8c

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