UNPKG

ctrlshiftleft

Version:

AI-powered toolkit for embedding QA and security testing into development workflows

47 lines 2.32 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.genCommand = genCommand; const chalk_1 = __importDefault(require("chalk")); const ora_1 = __importDefault(require("ora")); const path_1 = __importDefault(require("path")); const testGenerator_1 = require("../core/testGenerator"); const fileUtils_1 = require("../utils/fileUtils"); function genCommand(program) { program .command('gen') .description('Generate end-to-end tests from source code') .argument('<source>', 'Source file or directory to analyze') .option('-o, --output <directory>', 'Output directory for generated tests', './tests') .option('-f, --format <format>', 'Test format (playwright or selenium)', 'playwright') .option('-t, --timeout <timeout>', 'Timeout for test generation in seconds', '60') .action(async (source, options) => { const spinner = (0, ora_1.default)('Analyzing source code...').start(); try { // Validate source path if (!await (0, fileUtils_1.isValidSourcePath)(source)) { spinner.fail(`Invalid source path: ${source}`); return; } const absoluteSourcePath = path_1.default.resolve(process.cwd(), source); const outputDir = path_1.default.resolve(process.cwd(), options.output); // Initialize test generator const generator = new testGenerator_1.TestGenerator({ format: options.format, timeout: parseInt(options.timeout, 10) }); spinner.text = 'Generating tests...'; const result = await generator.generateTests(absoluteSourcePath, outputDir); spinner.succeed(`Successfully generated ${result.testCount} tests in ${outputDir}`); console.log(`\n${chalk_1.default.green('✓')} Generated test files: ${result.files.join(', ')}`); } catch (error) { spinner.fail(`Test generation failed: ${error.message}`); console.error(chalk_1.default.red(error.stack)); process.exit(1); } }); } //# sourceMappingURL=gen.js.map