public function setUp()
{
parent::setUp();
$this->mockViewHelper = $this->getMockBuilder(\Neos\FluidAdaptor\ViewHelpers\Security\IfHasRoleViewHelper::class)->setMethods(['renderThenChild', 'renderElseChild', 'hasAccessToPrivilege'])->getMock();
$this->mockSecurityContext = $this->getMockBuilder(\Neos\Flow\Security\Context::class)->disableOriginalConstructor()->getMock();
$this->mockPolicyService = $this->getMockBuilder(\Neos\Flow\Security\Policy\PolicyService::class)->disableOriginalConstructor()->getMock();
$objectManager = $this->getMockBuilder(ObjectManagerInterface::class)->disableOriginalConstructor()->getMock();
$objectManager->expects($this->any())->method('get')->willReturnCallback(function ($objectName) {
switch ($objectName) {
case Context::class:
return $this->mockSecurityContext;
break;
case PolicyService::class:
return $this->mockPolicyService;
break;
}
});
$renderingContext = $this->getMockBuilder(RenderingContext::class)->disableOriginalConstructor()->getMock();
$renderingContext->expects($this->any())->method('getObjectManager')->willReturn($objectManager);
$renderingContext->expects($this->any())->method('getControllerContext')->willReturn($this->getMockControllerContext());
$this->inject($this->mockViewHelper, 'renderingContext', $renderingContext);
}