UserTest.php in Drupal 8
File
core/modules/user/tests/src/Unit/Plugin/Core/Entity/UserTest.php
View source
<?php
namespace Drupal\Tests\user\Unit\Plugin\Core\Entity;
use Drupal\Tests\Core\Session\UserSessionTest;
use Drupal\user\RoleInterface;
class UserTest extends UserSessionTest {
protected function createUserSession(array $rids = [], $authenticated = FALSE) {
$user = $this
->getMockBuilder('Drupal\\user\\Entity\\User')
->disableOriginalConstructor()
->setMethods([
'get',
'id',
])
->getMock();
$user
->expects($this
->any())
->method('id')
->will($this
->returnValue($authenticated ? 2 : 0));
$roles = [];
foreach ($rids as $rid) {
$roles[] = (object) [
'target_id' => $rid,
];
}
$user
->expects($this
->any())
->method('get')
->with('roles')
->will($this
->returnValue($roles));
return $user;
}
public function testUserGetRoles() {
$user = $this
->createUserSession([]);
$this
->assertEquals([
RoleInterface::ANONYMOUS_ID,
], $user
->getRoles());
$this
->assertEquals([], $user
->getRoles(TRUE));
$user = $this
->createUserSession([], TRUE);
$this
->assertEquals([
RoleInterface::AUTHENTICATED_ID,
], $user
->getRoles());
$this
->assertEquals([], $user
->getRoles(TRUE));
}
}