eZ\Bundle\EzPublishCoreBundle\Tests\ApiLoader\StorageEngineFactoryTest::testBuildStorageEngine PHP Method

testBuildStorageEngine() public method

    public function testBuildStorageEngine()
    {
        $configResolver = $this->getConfigResolverMock();
        $repositoryAlias = 'main';
        $repositories = array($repositoryAlias => array('storage' => array('engine' => 'foo')), 'another' => array('storage' => array('engine' => 'bar')));
        $expectedStorageEngine = $this->getMock('eZ\\Publish\\SPI\\Persistence\\Handler');
        $storageEngines = array('foo' => $expectedStorageEngine, 'bar' => $this->getMock('eZ\\Publish\\SPI\\Persistence\\Handler'), 'baz' => $this->getMock('eZ\\Publish\\SPI\\Persistence\\Handler'));
        $repositoryConfigurationProvider = new RepositoryConfigurationProvider($configResolver, $repositories);
        $factory = new StorageEngineFactory($repositoryConfigurationProvider);
        foreach ($storageEngines as $identifier => $persistenceHandler) {
            $factory->registerStorageEngine($persistenceHandler, $identifier);
        }
        $configResolver->expects($this->once())->method('getParameter')->with('repository')->will($this->returnValue($repositoryAlias));
        $this->assertSame($expectedStorageEngine, $factory->buildStorageEngine());
    }