ContentHubUserSessionTest.php in Acquia Content Hub 8
File
tests/src/Unit/Session/ContentHubUserSessionTest.php
View source
<?php
namespace Drupal\Tests\acquia_contenthub\Unit\Session;
use Drupal\acquia_contenthub\Session\ContentHubUserSession;
use Drupal\Core\Session\AccountInterface;
use Drupal\Tests\UnitTestCase;
class ContentHubUserSessionTest extends UnitTestCase {
protected $backupGlobals = FALSE;
protected $configFactory;
protected $userRole;
protected function setUp() {
$this->configFactory = $this
->createMock('Drupal\\Core\\Config\\ConfigFactoryInterface');
$this->configFactory
->method('get')
->willReturnCallback(function ($argument) {
if ($argument == 'acquia_contenthub.entity_config') {
$contenthub_entity_config = $this
->getMockBuilder('Drupal\\Core\\Config\\ImmutableConfig')
->disableOriginalConstructor()
->setMethods([
'get',
])
->getMockForAbstractClass();
$contenthub_entity_config
->method('get')
->willReturnCallback(function ($argument) {
if ($argument == 'user_role') {
return $this->userRole;
}
return NULL;
});
return $contenthub_entity_config;
}
return NULL;
});
}
public function testAnonymousRole() {
$this->userRole = AccountInterface::ANONYMOUS_ROLE;
$render_account = new ContentHubUserSession(AccountInterface::ANONYMOUS_ROLE);
$this
->assertTrue($render_account
->isAnonymous());
$this
->assertFalse($render_account
->isAuthenticated());
$expected = [
AccountInterface::ANONYMOUS_ROLE,
];
$this
->assertEquals($render_account
->getRoles(), $expected);
}
public function testAuthenticatedRole() {
$render_account = new ContentHubUserSession(AccountInterface::AUTHENTICATED_ROLE);
$this
->assertFalse($render_account
->isAnonymous());
$this
->assertTrue($render_account
->isAuthenticated());
$expected = [
AccountInterface::AUTHENTICATED_ROLE,
];
$this
->assertEquals($render_account
->getRoles(), $expected);
}
public function testCustomRole() {
$render_account = new ContentHubUserSession('test_role');
$this
->assertFalse($render_account
->isAnonymous());
$this
->assertTrue($render_account
->isAuthenticated());
$expected = [
AccountInterface::AUTHENTICATED_ROLE,
'test_role',
];
$this
->assertEquals($render_account
->getRoles(), $expected);
}
}