/** * Tests some of the methods. * * @see \Drupal\user\Entity\User::getRoles() * @see \Drupal\user\Entity\User::addRole() * @see \Drupal\user\Entity\User::removeRole() */ public function testUserMethods() { $role_storage = $this->container->get('entity.manager')->getStorage('user_role'); $role_storage->create(array('id' => 'test_role_one'))->save(); $role_storage->create(array('id' => 'test_role_two'))->save(); $role_storage->create(array('id' => 'test_role_three'))->save(); $values = array('roles' => array(LanguageInterface::LANGCODE_DEFAULT => array('test_role_one'))); $user = new User($values, 'user'); $this->assertTrue($user->hasRole('test_role_one')); $this->assertFalse($user->hasRole('test_role_two')); $this->assertEqual(array('test_role_one'), $user->getRoles()); $user->addRole('test_role_one'); $this->assertTrue($user->hasRole('test_role_one')); $this->assertFalse($user->hasRole('test_role_two')); $this->assertEqual(array('test_role_one'), $user->getRoles()); $user->addRole('test_role_two'); $this->assertTrue($user->hasRole('test_role_one')); $this->assertTrue($user->hasRole('test_role_two')); $this->assertEqual(array('test_role_one', 'test_role_two'), $user->getRoles()); $user->removeRole('test_role_three'); $this->assertTrue($user->hasRole('test_role_one')); $this->assertTrue($user->hasRole('test_role_two')); $this->assertEqual(array('test_role_one', 'test_role_two'), $user->getRoles()); $user->removeRole('test_role_one'); $this->assertFalse($user->hasRole('test_role_one')); $this->assertTrue($user->hasRole('test_role_two')); $this->assertEqual(array('test_role_two'), $user->getRoles()); }