![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/codeception/codeception/src/Codeception/Command/ |
<?php declare(strict_types=1); namespace Codeception\Command; use Codeception\Lib\Generator\Cest as CestGenerator; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use function file_exists; /** * Generates Cest (scenario-driven object-oriented test) file: * * * `codecept generate:cest suite Login` * * `codecept g:cest suite subdir/subdir/testnameCest.php` * * `codecept g:cest suite LoginCest -c path/to/project` * * `codecept g:cest "App\Login"` * */ class GenerateCest extends Command { use Shared\FileSystemTrait; use Shared\ConfigTrait; protected function configure(): void { $this->setDefinition([ new InputArgument('suite', InputArgument::REQUIRED, 'suite where tests will be put'), new InputArgument('class', InputArgument::REQUIRED, 'test name'), ]); } public function getDescription(): string { return 'Generates empty Cest file in suite'; } public function execute(InputInterface $input, OutputInterface $output): int { $suite = $input->getArgument('suite'); $class = $input->getArgument('class'); $config = $this->getSuiteConfig($suite); $className = $this->getShortClassName($class); $path = $this->createDirectoryFor($config['path'], $class); $filename = $this->completeSuffix($className, 'Cest'); $filename = $path . $filename; if (file_exists($filename)) { $output->writeln("<error>Test {$filename} already exists</error>"); return 1; } $cest = new CestGenerator($class, $config); $res = $this->createFile($filename, $cest->produce()); if (!$res) { $output->writeln("<error>Test {$filename} already exists</error>"); return 1; } $output->writeln("<info>Test was created in {$filename}</info>"); return 0; } }