/** * @test */ public function resolveCreatesContextForCurrentDomainIfGivenValueIsAStringAndADomainIsFound() { $mockContext = $this->buildMockContext(array('workspaceName' => 'user-johndoe')); $mockContext->mockSite = $this->getMock('TYPO3\\TYPO3CR\\Domain\\Model\\Site', array(), array(), '', false); $mockSiteNode = $this->buildSiteNode($mockContext, '/sites/examplecom'); $mockContext->mockSiteNode = $mockSiteNode; $mockContext->expects($this->any())->method('getNode')->will($this->returnCallback(function ($nodePath) use($mockSiteNode) { return $nodePath === '/sites/examplecom' ? $mockSiteNode : null; })); $mockDomain = $this->getMockBuilder('TYPO3\\Neos\\Domain\\Model\\Domain')->disableOriginalConstructor()->getMock(); $this->mockDomainRepository->expects($this->atLeastOnce())->method('findOneByActiveRequest')->will($this->returnValue($mockDomain)); $that = $this; $this->mockContextFactory->expects($this->once())->method('create')->will($this->returnCallback(function ($contextProperties) use($that, $mockContext, $mockDomain) { // The important assertion: $that->assertSame($mockDomain, $contextProperties['currentDomain']); return $mockContext; })); $routeValues = array('node' => '/sites/examplecom'); $this->assertTrue($this->routePartHandler->resolve($routeValues)); }