/** * Controller generator test * * @param $module * @param $class_name * @param $routes * @param $test * @param $build_services * @param $class_machine_name * * @dataProvider commandData */ public function testGenerateController($module, $class_name, $routes, $test, $build_services, $class_machine_name) { $generator = new ControllerGenerator(); $this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs()); $this->getRenderHelper()->setTranslator($this->getTranslatorHelper()); $generator->setHelperSet($this->getHelperSet()); $generator->generate($module, $class_name, $routes, $test, $build_services, $class_machine_name); $files = [$generator->getSite()->getControllerPath($module) . '/' . $class_name . '.php', $generator->getSite()->getModulePath($module) . '/' . $module . '.routing.yml']; foreach ($files as $file) { $this->assertTrue(file_exists($file), sprintf('%s does not exist', $file)); } if ($test) { $this->assertTrue(file_exists($generator->getSite()->getTestPath($module, 'Controller') . '/' . $class_name . 'Test.php'), sprintf('%s does not exist', $class_name . 'Test.php')); } }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new DrupalStyle($input, $output); $yes = $input->hasOption('yes') ? $input->getOption('yes') : false; // @see use Drupal\Console\Command\Shared\ConfirmationTrait::confirmGeneration if (!$this->confirmGeneration($io, $yes)) { return; } $learning = $input->hasOption('learning') ? $input->getOption('learning') : false; $module = $input->getOption('module'); $class = $input->getOption('class'); $routes = $input->getOption('routes'); $test = $input->getOption('test'); $services = $input->getOption('services'); $routes = $this->inlineValueAsArray($routes); $input->setOption('routes', $routes); // @see use Drupal\Console\Command\Shared\ServicesTrait::buildServices $build_services = $this->buildServices($services); //$this->generator->setLearning($learning); $this->generator->generate($module, $class, $routes, $test, $build_services); // Run cache rebuild to see changes in Web UI $this->chainQueue->addCommand('router:rebuild', []); }