@donatocardoso/busca-cli
Version:
Ferramenta responsável por ler o conteúdo de arquivos e filtrá-los de acordo com um texto informado
95 lines (73 loc) • 4.46 kB
JavaScript
const path = require('path');
const programa = require('../../../src/pt-br/principal');
const { output } = require('../../../src/utils/message');
const carregar = programa.commands.find((programa) => programa.name() === 'carregar');
describe('busca-cli carregar [opcoes] <texto> -c [caminhos...]', () => {
beforeEach(() => {
output.length = 0;
if (carregar.opts().caminhos) delete carregar.opts().caminhos;
if (carregar.opts().detalhes) delete carregar.opts().detalhes;
if (carregar.opts().exato) delete carregar.opts().exato;
if (carregar.opts().recursivo) delete carregar.opts().recursivo;
if (carregar.opts().sensivel) delete carregar.opts().sensivel;
});
it('deve retornar nenhum arquivo encontrado', () => {
carregar.parse(['node', 'test', '-c', './example/folder']);
expect(carregar.opts()).toEqual({ caminhos: expect.any(Array) });
expect(output).toContain('Opções...........................: caminhos');
expect(output).toContain('Foram carregados.................: 0 arquivos!');
expect(output).toContain('Foram encontradas 0 ocorrências pelo termo "jack bravman"');
expect(output).toContain('Nenhum arquivo encontrado!');
});
it('deve retornar todos os arquivos encontrados', () => {
carregar.parse(['node', 'test', '-c', './example/data']);
expect(carregar.opts()).toEqual({ caminhos: expect.any(Array) });
expect(output).toContain('Opções...........................: caminhos');
expect(output).toContain('Foram carregados.................: 5 arquivos!');
expect(output).toContain('Foram encontradas 2 ocorrências pelo termo "jack bravman"');
expect(output).toContain(path.resolve(process.cwd(), './example/data/arquivo02.txt'));
expect(output).toContain(path.resolve(process.cwd(), './example/data/arquivo03.txt'));
});
it('deve retornar um arquivo encontrado: -e', () => {
carregar.parse(['node', 'test', '-e', '-c', './example/data']);
expect(carregar.opts()).toEqual({ caminhos: expect.any(Array), exato: true });
expect(output).toContain('Opções...........................: caminhos,exato');
expect(output).toContain('Foram carregados.................: 5 arquivos!');
expect(output).toContain('Foram encontradas 1 ocorrências pelo termo "jack bravman"');
expect(output).toContain(path.resolve(process.cwd(), './example/data/arquivo03.txt'));
});
it('deve retornar um arquivo encontrado: -er', () => {
carregar.parse(['node', 'test', '-er', '-c', './example/data']);
expect(carregar.opts()).toEqual({ caminhos: expect.any(Array), exato: true, recursivo: true });
expect(output).toContain('Opções...........................: caminhos,exato,recursivo');
expect(output).toContain('Foram carregados.................: 10 arquivos!');
expect(output).toContain('Foram encontradas 2 ocorrências pelo termo "jack bravman"');
expect(output).toContain(path.resolve(process.cwd(), './example/data/arquivo03.txt'));
expect(output).toContain(path.resolve(process.cwd(), './example/data/subfolder/arquivo08.txt'));
});
it('deve retornar um arquivo encontrado: -ers', () => {
carregar.parse(['node', 'test', '-ers', '-c', './example/data']);
expect(carregar.opts()).toEqual({ caminhos: expect.any(Array), exato: true, recursivo: true, sensivel: true });
expect(output).toContain('Opções...........................: caminhos,exato,recursivo,sensivel');
expect(output).toContain('Foram carregados.................: 10 arquivos!');
expect(output).toContain('Foram encontradas 1 ocorrências pelo termo "jack bravman"');
expect(output).toContain(path.resolve(process.cwd(), './example/data/subfolder/arquivo08.txt'));
});
it('deve retornar todos os arquivos encontrados: -d', () => {
carregar.parse([
'node',
'test',
'-d',
'jack bravman',
'-c',
'./example/data',
'./example/data/subfolder/arquivo08.txt',
]);
expect(carregar.args).toEqual(['jack bravman']);
expect(carregar.opts()).toEqual({ caminhos: expect.any(Array), detalhes: true });
expect(output).toContain('Opções...........................: caminhos,detalhes');
expect(output).toContain('Foram carregados.................: 6 arquivos!');
expect(output).toContain('Foram encontradas 3 ocorrências pelo termo "jack bravman"');
expect(output).toContain('Foram encontrados................: 3 arquivos!');
});
});