Chris@0: installEntitySchema('user'); Chris@14: } Chris@14: Chris@14: /** Chris@0: * Tests some of the methods. Chris@0: * Chris@0: * @see \Drupal\user\Entity\User::getRoles() Chris@0: * @see \Drupal\user\Entity\User::addRole() Chris@0: * @see \Drupal\user\Entity\User::removeRole() Chris@0: */ Chris@0: public function testUserMethods() { Chris@0: $role_storage = $this->container->get('entity.manager')->getStorage('user_role'); Chris@0: $role_storage->create(['id' => 'test_role_one'])->save(); Chris@0: $role_storage->create(['id' => 'test_role_two'])->save(); Chris@0: $role_storage->create(['id' => 'test_role_three'])->save(); Chris@0: Chris@0: $values = [ Chris@0: 'uid' => 1, Chris@0: 'roles' => ['test_role_one'], Chris@0: ]; Chris@0: $user = User::create($values); Chris@0: Chris@0: $this->assertTrue($user->hasRole('test_role_one')); Chris@0: $this->assertFalse($user->hasRole('test_role_two')); Chris@0: $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_one'], $user->getRoles()); Chris@0: Chris@0: $user->addRole('test_role_one'); Chris@0: $this->assertTrue($user->hasRole('test_role_one')); Chris@0: $this->assertFalse($user->hasRole('test_role_two')); Chris@0: $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_one'], $user->getRoles()); Chris@0: Chris@0: $user->addRole('test_role_two'); Chris@0: $this->assertTrue($user->hasRole('test_role_one')); Chris@0: $this->assertTrue($user->hasRole('test_role_two')); Chris@0: $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_one', 'test_role_two'], $user->getRoles()); Chris@0: Chris@0: $user->removeRole('test_role_three'); Chris@0: $this->assertTrue($user->hasRole('test_role_one')); Chris@0: $this->assertTrue($user->hasRole('test_role_two')); Chris@0: $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_one', 'test_role_two'], $user->getRoles()); Chris@0: Chris@0: $user->removeRole('test_role_one'); Chris@0: $this->assertFalse($user->hasRole('test_role_one')); Chris@0: $this->assertTrue($user->hasRole('test_role_two')); Chris@0: $this->assertEqual([RoleInterface::AUTHENTICATED_ID, 'test_role_two'], $user->getRoles()); Chris@0: } Chris@0: Chris@14: /** Chris@14: * Tests that all user fields validate properly. Chris@14: * Chris@14: * @see \Drupal\Core\Field\FieldItemListInterface::generateSampleItems Chris@14: * @see \Drupal\Core\Field\FieldItemInterface::generateSampleValue() Chris@14: * @see \Drupal\Core\Entity\FieldableEntityInterface::validate() Chris@14: */ Chris@14: public function testUserValidation() { Chris@14: $user = User::create([]); Chris@14: foreach ($user as $field_name => $field) { Chris@14: if (!in_array($field_name, ['uid'])) { Chris@14: $user->$field_name->generateSampleItems(); Chris@14: } Chris@14: } Chris@14: $violations = $user->validate(); Chris@14: $this->assertFalse((bool) $violations->count()); Chris@14: } Chris@14: Chris@0: }