public function routeLoadsRoutesConfigurationFromConfigurationManagerIfNotSetExplicitly()
{
/** @var Router|\PHPUnit_Framework_MockObject_MockObject $router */
$router = $this->getAccessibleMock(Router::class, ['dummy']);
$this->inject($router, 'routerCachingService', $this->mockRouterCachingService);
$this->inject($router, 'systemLogger', $this->mockSystemLogger);
$routesConfiguration = [['uriPattern' => 'some/uri/pattern'], ['uriPattern' => 'some/other/uri/pattern']];
/** @var ConfigurationManager|\PHPUnit_Framework_MockObject_MockObject $mockConfigurationManager */
$mockConfigurationManager = $this->getMockBuilder(ConfigurationManager::class)->disableOriginalConstructor()->getMock();
$mockConfigurationManager->expects($this->once())->method('getConfiguration')->with(ConfigurationManager::CONFIGURATION_TYPE_ROUTES)->will($this->returnValue($routesConfiguration));
$this->inject($router, 'configurationManager', $mockConfigurationManager);
/** @var Request|\PHPUnit_Framework_MockObject_MockObject $mockHttpRequest */
$mockHttpRequest = $this->getMockBuilder(Request::class)->disableOriginalConstructor()->getMock();
$router->route($mockHttpRequest);
$routes = $router->getRoutes();
$firstRoute = reset($routes);
$this->assertSame('some/uri/pattern', $firstRoute->getUriPattern());
}