public function testExecute() { $modules = new Modules(); $moduleA = new Module(); $moduleA->setTasks(['Samurai\\Module\\resources\\TaskA', 'Samurai\\Module\\resources\\TaskB']); $modules[] = $moduleA; $moduleB = new Module(); $moduleB->setTasks(['Samurai\\Module\\resources\\TaskC']); $modules[] = $moduleB; $input = new ArrayInput([]); $output = new BufferedOutput(); $questionHelper = $this->getQuestionHelperMock(); $adapter = new PlannerAdapter(new ModulesPlannerBuilder(new Container(), $modules, $questionHelper), $questionHelper); $this->assertSame(ITask::NO_ERROR_CODE, $adapter->execute($input, $output)); $this->assertSame('ABC', $output->fetch()); }
/** * @return Modules */ private function providesModules() { $modules = new Modules(); $moduleA = new Module(); $moduleA->setName('name of A'); $moduleA->setIsEnable(true); $moduleA->setTasks(['Samurai\\Module\\resources\\TaskA', 'Samurai\\Module\\resources\\TaskB']); $modules[] = $moduleA; $moduleB = new Module(); $moduleB->setName('name of B'); $moduleB->setIsEnable(true); $moduleB->setTasks(['Samurai\\Module\\resources\\TaskB']); $modules[] = $moduleB; $moduleC = new Module(); $moduleC->setName('name of C'); $moduleC->setTasks(['Samurai\\Module\\resources\\TaskC']); $modules[] = $moduleC; return $modules; }
/** * @param Module $module * @param array $moduleData * @return Module */ private function completeModuleParams(Module $module, array $moduleData) { if (!$module->getDescription() && !empty($moduleData['description'])) { $module->setDescription($moduleData['description']); } if (!$module->getSource() && !empty($moduleData['source'])) { $module->setDescription($moduleData['source']); } if (!empty($moduleData['dependencies'])) { $module->setDependencies($moduleData['dependencies']); } if (!empty($moduleData['tasks'])) { $module->setTasks((array) $moduleData['tasks']); } return $module; }