/** * Create service * * @param ServiceLocatorInterface $serviceLocator * * @return mixed|IndexController */ public function createService(ServiceLocatorInterface $serviceLocator) { $controller = new IndexController(); $serviceLocator = $this->transformIntoServiceManager($serviceLocator); /** @var array|\Zend\Config\Config $configuration */ $configuration = $serviceLocator->get('Config'); $key = 'net_bazzline_zf_cli_generator'; if (!isset($configuration[$key])) { throw new InvalidArgumentException('expected configuration key "' . $key . '" not found'); } /** @var PipeInterface $cliGenerator */ $cliGenerator = $serviceLocator->get('NetBazzlineCliGeneratorGenerateCliContent'); /** @var PipeInterface $configurationGenerator */ $configurationGenerator = $serviceLocator->get('NetBazzlineCliGeneratorGenerateConfigurationContent'); $configuration = $configuration[$key]; $pathToApplication = $configuration['application']['path'] . DIRECTORY_SEPARATOR . $configuration['application']['name']; $pathToAutoload = $configuration['autoload']['path'] . DIRECTORY_SEPARATOR . $configuration['autoload']['name']; $pathToConfiguration = $configuration['configuration']['target']['path'] . DIRECTORY_SEPARATOR . $configuration['configuration']['target']['name']; $pathToCli = $configuration['cli']['target']['path'] . DIRECTORY_SEPARATOR . $configuration['cli']['target']['name']; $prefix = $configuration['cli']['prefix']; $controller->setGenerateConfigurationProcessPipe($configurationGenerator); $controller->setGenerateCliProcessPipe($cliGenerator); $controller->setPathToApplication($pathToApplication); $controller->setPathToAutoload($pathToAutoload); $controller->setPathToConfiguration($pathToConfiguration); $controller->setPathToCli($pathToCli); $controller->setPrefix($prefix); return $controller; }
public function testListActionWithFilledConfiguration() { $this->markTestIncomplete(); $configuration = array('name_to_configuration_path' => array('locator_one' => __FILE__, 'locator_two' => __FILE__)); $console = $this->console; $console->shouldReceive('writeLine')->with('locator: locator_one with configuration file "' . __FILE__ . '"')->once(); $console->shouldReceive('writeLine')->with('locator: locator_two with configuration file "' . __FILE__ . '"')->once(); $this->controller->setConfiguration($configuration); $this->routeMatch->setParam('action', 'list'); $this->controller->dispatch($this->request); }