function CurrentUserContextTest::testGetAvailableContexts
@covers ::getAvailableContexts
      
    
File
- 
              core/
modules/ user/ tests/ src/ Kernel/ ContextProvider/ CurrentUserContextTest.php, line 35  
Class
- CurrentUserContextTest
 - @coversDefaultClass \Drupal\user\ContextProvider\CurrentUserContext[[api-linebreak]]
 
Namespace
Drupal\Tests\user\Kernel\ContextProviderCode
public function testGetAvailableContexts() : void {
  $context_repository = $this->container
    ->get('context.repository');
  // Test an authenticated account.
  $authenticated = User::create([
    'name' => $this->randomMachineName(),
  ]);
  $authenticated->save();
  $authenticated = User::load($authenticated->id());
  $this->container
    ->get('current_user')
    ->setAccount($authenticated);
  $contexts = $context_repository->getAvailableContexts();
  $this->assertArrayHasKey('@user.current_user_context:current_user', $contexts);
  $this->assertSame('entity:user', $contexts['@user.current_user_context:current_user']->getContextDefinition()
    ->getDataType());
  $this->assertTrue($contexts['@user.current_user_context:current_user']->hasContextValue());
  $this->assertNotNull($contexts['@user.current_user_context:current_user']->getContextValue());
  // Test an anonymous account.
  $anonymous = $this->prophesize(AccountInterface::class);
  $anonymous->id()
    ->willReturn(0);
  $this->container
    ->get('current_user')
    ->setAccount($anonymous->reveal());
  $contexts = $context_repository->getAvailableContexts();
  $this->assertArrayHasKey('@user.current_user_context:current_user', $contexts);
  $this->assertSame('entity:user', $contexts['@user.current_user_context:current_user']->getContextDefinition()
    ->getDataType());
  $this->assertFalse($contexts['@user.current_user_context:current_user']->hasContextValue());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.