@labnex/cli
Version:
CLI for Labnex, an AI-Powered Testing Automation Platform
64 lines • 2.71 kB
JavaScript
;
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