AccountProxyTest.php in Drupal 10
File
core/tests/Drupal/Tests/Core/Session/AccountProxyTest.php
View source
<?php
namespace Drupal\Tests\Core\Session;
use Drupal\Core\Session\AccountInterface;
use Drupal\Core\Session\AccountProxy;
use Drupal\Tests\UnitTestCase;
use Prophecy\Argument;
use Symfony\Contracts\EventDispatcher\Event;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
class AccountProxyTest extends UnitTestCase {
public function testId() {
$dispatcher = $this
->prophesize(EventDispatcherInterface::class);
$dispatcher
->dispatch(Argument::any(), Argument::any())
->willReturn(new Event());
$account_proxy = new AccountProxy($dispatcher
->reveal());
$this
->assertSame(0, $account_proxy
->id());
$account_proxy
->setInitialAccountId(1);
$this
->assertFalse(\Drupal::hasContainer());
$this
->assertSame(1, $account_proxy
->id());
$current_user = $this
->prophesize(AccountInterface::class);
$current_user
->id()
->willReturn(2);
$account_proxy
->setAccount($current_user
->reveal());
$this
->assertSame(2, $account_proxy
->id());
}
public function testSetInitialAccountIdException() {
$this
->expectException(\LogicException::class);
$dispatcher = $this
->prophesize(EventDispatcherInterface::class);
$dispatcher
->dispatch(Argument::any(), Argument::any())
->willReturn(new Event());
$account_proxy = new AccountProxy($dispatcher
->reveal());
$current_user = $this
->prophesize(AccountInterface::class);
$account_proxy
->setAccount($current_user
->reveal());
$account_proxy
->setInitialAccountId(1);
}
}