eZ\Publish\Core\MVC\Symfony\Routing\Tests\UrlAliasGeneratorTest::testDoGenerateWithSiteAccessParam PHP Метод

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

public testDoGenerateWithSiteAccessParam ( eZ\Publish\API\Repository\Values\Content\URLAlias $urlAlias, array $parameters, $expected )
$urlAlias eZ\Publish\API\Repository\Values\Content\URLAlias
$parameters array
    public function testDoGenerateWithSiteAccessParam(URLAlias $urlAlias, array $parameters, $expected)
    {
        $siteaccessName = 'foo';
        $parameters += array('siteaccess' => $siteaccessName);
        $languages = array('esl-ES', 'fre-FR', 'eng-GB');
        $saRootLocations = array('foo' => 2, 'bar' => 100);
        $treeRootUrlAlias = array(2 => new URLAlias(array('path' => '/')), 100 => new URLAlias(array('path' => '/foo/bar')));
        $this->configResolver->expects($this->any())->method('getParameter')->will($this->returnValueMap(array(array('languages', null, 'foo', $languages), array('languages', null, 'bar', $languages), array('content.tree_root.location_id', null, 'foo', $saRootLocations['foo']), array('content.tree_root.location_id', null, 'bar', $saRootLocations['bar']))));
        $location = new Location(array('id' => 123));
        $this->urlAliasService->expects($this->exactly(1))->method('listLocationAliases')->will($this->returnValueMap(array(array($location, false, null, null, $languages, array($urlAlias)))));
        $this->locationService->expects($this->once())->method('loadLocation')->will($this->returnCallback(function ($locationId) {
            return new Location(array('id' => $locationId));
        }));
        $this->urlAliasService->expects($this->exactly(1))->method('reverseLookup')->will($this->returnCallback(function ($location) use($treeRootUrlAlias) {
            return $treeRootUrlAlias[$location->id];
        }));
        $this->urlAliasGenerator->setSiteAccess(new SiteAccess('test', 'fake', $this->getMock('eZ\\Publish\\Core\\MVC\\Symfony\\SiteAccess\\URILexer')));
        $this->assertSame($expected, $this->urlAliasGenerator->doGenerate($location, $parameters));
    }