Пример #1
0
 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());
 }
Пример #2
0
 /**
  * @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;
 }
Пример #3
0
 /**
  * @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;
 }