public function createNodeFromTemplateUsesWorkspaceFromContextForNodeData() { $workspace = $this->getMockBuilder(Workspace::class)->disableOriginalConstructor()->getMock(); $parentNodeData = $this->getMockBuilder(NodeData::class)->disableOriginalConstructor()->getMock(); $newNodeData = $this->getMockBuilder(NodeData::class)->disableOriginalConstructor()->getMock(); $mockFirstLevelNodeCache = $this->createMock(FirstLevelNodeCache::class); $newNode = $this->getMockBuilder(Node::class)->disableOriginalConstructor()->getMock(); $context = $this->getMockBuilder(Context::class)->disableOriginalConstructor()->getMock(); $context->expects($this->any())->method('getFirstLevelNodeCache')->will($this->returnValue($mockFirstLevelNodeCache)); $nodeTemplate = new NodeTemplate(); $context->expects($this->any())->method('getWorkspace')->will($this->returnValue($workspace)); $nodeFactory = $this->createMock(NodeFactory::class); $parentNode = new Node($parentNodeData, $context); $this->inject($parentNode, 'nodeFactory', $nodeFactory); $parentNodeData->expects($this->atLeastOnce())->method('createNodeDataFromTemplate')->with($nodeTemplate, 'bar', $workspace)->will($this->returnValue($newNodeData)); $nodeFactory->expects($this->atLeastOnce())->method('createFromNodeData')->with($newNodeData, $context)->will($this->returnValue($newNode)); $parentNode->createNodeFromTemplate($nodeTemplate, 'bar'); }