UNPKG

@donatocardoso/busca-cli

Version:

Ferramenta responsável por ler o conteúdo de arquivos e filtrá-los de acordo com um texto informado

96 lines (77 loc) 3.4 kB
const path = require('path'); const programa = require('../../../src/pt-br/principal'); const { output } = require('../../../src/utils/message'); const arquivo = programa.commands.find((programa) => programa.name() === 'arquivo'); describe('busca-cli arquivo [opcoes] <texto> -c [caminhos...]', () => { beforeEach(() => { output.length = 0; if (arquivo.opts().caminhos) delete arquivo.opts().caminhos; if (arquivo.opts().detalhes) delete arquivo.opts().detalhes; if (arquivo.opts().exato) delete arquivo.opts().exato; if (arquivo.opts().sensivel) delete arquivo.opts().sensivel; }); it('deve retornar nenhum arquivo encontrado', () => { arquivo.parse([ 'node', 'test', 'robert conrad karen', '-c', './example/data/arquivo.txt', './example/data/subfolder', ]); expect(arquivo.args).toEqual(['robert conrad karen']); expect(output).toContain('Foram encontradas 0 ocorrências pelo termo "robert conrad karen"'); expect(output).toContain('Nenhum arquivo encontrado!'); }); it('deve retornar um arquivo encontrado: ./example/data/arquivo00.txt', () => { arquivo.parse(['node', 'test', 'robert conrad karen', '-c', './example/data/arquivo00.txt']); expect(arquivo.args).toEqual(['robert conrad karen']); expect(output).toContain('Foram encontradas 1 ocorrências pelo termo "robert conrad karen"'); expect(output).toContain(path.resolve(process.cwd(), './example/data/arquivo00.txt')); }); it('deve retornar um arquivo encontrados: -e ./example/data/arquivo00.txt', () => { arquivo.parse([ 'node', 'test', '-e', 'robert conrad karen', '-c', './example/data/arquivo00.txt', './example/data/subfolder/arquivo05.txt', ]); expect(arquivo.args).toEqual(['robert conrad karen']); expect(arquivo.opts()).toEqual({ caminhos: expect.any(Array), exato: true }); expect(output).toContain('Foram encontradas 1 ocorrências pelo termo "robert conrad karen"'); expect(output).toContain(path.resolve(process.cwd(), './example/data/arquivo00.txt')); }); it('deve retornar um arquivo encontrados: -s ./example/data/arquivo00.txt', () => { arquivo.parse([ 'node', 'test', '-s', 'robert conrad karen', '-c', './example/data/arquivo00.txt', './example/data/subfolder/arquivo05.txt', ]); expect(arquivo.args).toEqual(['robert conrad karen']); expect(arquivo.opts()).toEqual({ caminhos: expect.any(Array), sensivel: true }); expect(output).toContain('Foram encontradas 1 ocorrências pelo termo "robert conrad karen"'); expect(output).toContain(path.resolve(process.cwd(), './example/data/arquivo00.txt')); }); it('deve retornar um arquivo encontrados: -des ./example/data/arquivo00.txt', () => { arquivo.parse([ 'node', 'test', '-des', 'robert conrad karen', '-c', './example/data/arquivo00.txt', './example/data/subfolder/arquivo05.txt', ]); expect(arquivo.args).toEqual(['robert conrad karen']); expect(arquivo.opts()).toEqual({ caminhos: expect.any(Array), detalhes: true, exato: true, sensivel: true }); expect(output).toContain('Opções...........................: caminhos,detalhes,exato,sensivel'); expect(output).toContain('Foram encontrados................: 1 arquivos!'); }); });