/**
  * @test
  */
 public function isAccessibleReturnsTrueIfRoleIsEveryone()
 {
     /** @var SecurityContext|\PHPUnit_Framework_MockObject_MockObject $mockSecurityContext */
     $mockSecurityContext = $this->createMock(SecurityContext::class);
     $mockSecurityContext->expects($this->at(0))->method('canBeInitialized')->will($this->returnValue(true));
     $mockSecurityContext->expects($this->at(1))->method('hasRole')->with('SomeRole')->will($this->returnValue(false));
     $mockSecurityContext->expects($this->at(2))->method('hasRole')->with('Everyone')->will($this->returnValue(true));
     $this->inject($this->nodeData, 'securityContext', $mockSecurityContext);
     $this->nodeData->setAccessRoles(array('SomeRole', 'Everyone', 'SomeOtherRole'));
     $this->assertTrue($this->nodeData->isAccessible());
 }
 /**
  * Sets the roles which are required to access this node
  *
  * @param array $accessRoles
  * @return void
  * @api
  */
 public function setAccessRoles(array $accessRoles)
 {
     if (!$this->isNodeDataMatchingContext()) {
         $this->materializeNodeData();
     }
     if ($this->getAccessRoles() === $accessRoles) {
         return;
     }
     $this->nodeData->setAccessRoles($accessRoles);
     $this->context->getFirstLevelNodeCache()->flush();
     $this->emitNodeUpdated($this);
 }