UNPKG

@labnex/cli

Version:

CLI for Labnex, an AI-Powered Testing Automation Platform

64 lines 2.71 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTestCaseCommand = void 0; const commander_1 = require("commander"); const fs_1 = __importDefault(require("fs")); const chalk_1 = __importDefault(require("chalk")); const ora_1 = __importDefault(require("ora")); const client_1 = require("../api/client"); const parseRawSteps_1 = require("../utils/parseRawSteps"); exports.createTestCaseCommand = new commander_1.Command('create-test-case') .description('Create a new test case. Accepts raw step list via --file or --stdin.') .argument('<projectCode>', 'Project code or ID') .requiredOption('-t, --title <title>', 'Title of the test case') .option('-d, --description <desc>', 'Description') .option('-e, --expected <result>', 'Expected result / assertion') .option('-f, --file <path>', 'Path to text file containing raw steps') .option('--stdin', 'Read raw steps from STDIN') .action(async (projectCode, opts) => { try { const spinner = (0, ora_1.default)('Reading steps…').start(); let raw = ''; if (opts.file) { raw = fs_1.default.readFileSync(opts.file, 'utf8'); } else if (opts.stdin) { raw = await new Promise((resolve) => { let data = ''; process.stdin.setEncoding('utf8'); process.stdin.on('data', (chunk) => (data += chunk)); process.stdin.on('end', () => resolve(data)); }); } else { spinner.fail('You must supply --file or --stdin with the raw step list'); process.exitCode = 1; return; } const steps = (0, parseRawSteps_1.parseRawSteps)(raw); spinner.text = `Parsed ${steps.length} steps`; spinner.succeed(); const res = await client_1.apiClient.createTestCase(projectCode, { title: opts.title, description: opts.description ?? '', expectedResult: opts.expected ?? '', steps, priority: 'MEDIUM', }); if (res.success) { console.log(chalk_1.default.green(`✓ Test case "${res.data.title}" created (id=${res.data._id})`)); } else { console.error(chalk_1.default.red(`✗ Failed to create test case: ${res.error}`)); process.exitCode = 1; } } catch (err) { console.error(chalk_1.default.red(`✗ ${err.message || err}`)); process.exitCode = 1; } }); //# sourceMappingURL=testcase.js.map