Neos\ContentRepository\Tests\Unit\Domain\Model\ContextualizedNodeTest::getNodeReturnsTheSpecifiedNodeInTheCurrentNodesContext PHP Метод

getNodeReturnsTheSpecifiedNodeInTheCurrentNodesContext() публичный Метод

    public function getNodeReturnsTheSpecifiedNodeInTheCurrentNodesContext()
    {
        $currentNodeWorkspace = $this->getMockBuilder(Workspace::class)->disableOriginalConstructor()->getMock();
        $mockFirstLevelNodeCache = $this->getFirstLevelNodeCache();
        $context = $this->getMockBuilder(Context::class)->disableOriginalConstructor()->getMock();
        $context->expects($this->any())->method('getWorkspace')->will($this->returnValue($currentNodeWorkspace));
        $context->expects($this->any())->method('getFirstLevelNodeCache')->will($this->returnValue($mockFirstLevelNodeCache));
        $expectedNodeData = $this->getMockBuilder(NodeData::class)->setConstructorArgs(array('/foo/bar', $currentNodeWorkspace))->getMock();
        $expectedContextualizedNode = new Node($expectedNodeData, $context);
        $nodeDataRepository = $this->getMockBuilder(NodeDataRepository::class)->disableOriginalConstructor()->setMethods(array('findOneByPathInContext'))->getMock();
        $nodeDataRepository->expects($this->once())->method('findOneByPathInContext')->with('/foo/bar', $context)->will($this->returnValue($expectedContextualizedNode));
        $currentNodeData = $this->getMockBuilder(NodeData::class)->setMethods(array('dummy'))->setConstructorArgs(array('/foo/baz', $currentNodeWorkspace))->getMock();
        $nodeService = $this->getMockBuilder(NodeService::class)->disableOriginalConstructor()->getMock();
        $nodeService->expects($this->once())->method('normalizePath')->with('../bar', '/foo/baz')->will($this->returnValue('/foo/bar'));
        $currentContextualizedNode = $this->getAccessibleMock(Node::class, array('dummy'), array($currentNodeData, $context));
        $currentContextualizedNode->_set('nodeDataRepository', $nodeDataRepository);
        $currentContextualizedNode->_set('nodeService', $nodeService);
        $actualNode = $currentContextualizedNode->getNode('../bar');
        $this->assertSame($expectedContextualizedNode, $actualNode);
    }