tlpp-dev-cli
Version:
CLI para agilizar o processo de criaΓ§Γ£o de projetos em TLPP e ADVPR
42 lines (41 loc) β’ 1.82 kB
JavaScript
import chalk from 'chalk';
import logSymbols from 'log-symbols';
import ora from 'ora';
import { generateCases } from './generate-cases.js';
import { generateGroup } from './generate-group.js';
import { generateSuite } from './generate-suite.js';
export class GenerateService {
currentDirectory = process.cwd();
api() {
console.log('api');
}
async tests(name) {
console.log('');
const spinnerSuite = ora('Gerando Suite').start();
await this.delayedGenerate(name, generateSuite);
spinnerSuite.succeed();
const spinnerGroup = ora('Gerando Grupo').start();
await this.delayedGenerate(name, generateGroup);
spinnerGroup.succeed();
const spinnerCases = ora('Gerando Cases').start();
await this.delayedGenerate(name, generateCases);
spinnerCases.succeed();
this.successFeedback(name);
}
async delayedGenerate(name, generate) {
// eslint-disable-next-line no-promise-executor-return
await new Promise(resolve => setTimeout(resolve, 1000));
await generate(this.currentDirectory, name);
}
successFeedback(name) {
console.log(`\n${logSymbols.success} Pastas e arquivos foram criados com sucesso:\n`);
console.log(`${chalk.green('π Testes')} ${chalk.yellowBright('(ADVPR)')}`);
console.log(`${chalk.green('βββ π Suite')}`);
console.log(`${chalk.green(`β βββ π ${name}TestSuite.prw`)}`);
console.log(`${chalk.green('βββ π Grupo')}`);
console.log(`${chalk.green(`β βββ π ${name}TestGroup.prw`)}`);
console.log(`${chalk.green('βββ π Casos de Teste')}`);
console.log(`${chalk.green(` βββ π ${name}TestCases.prw`)}`);
console.log('\n');
}
}