Tests some of the methods.
\Drupal\user\Plugin\Core\Entity\User::getRoles()
\Drupal\user\Plugin\Core\Entity\User::addRole()
\Drupal\user\Plugin\Core\Entity\User::removeRole()
public function testUserMethods() {
$role_storage = $this->container
->get('plugin.manager.entity')
->getStorageController('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(
Language::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());
}