chore: import maquina-comercial-pessoal history via subtree

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

git-subtree-dir: maquina-comercial-pessoal
git-subtree-mainline: f5af038e19
git-subtree-split: a9ef4d776d
This commit is contained in:
Gustavo
2026-09-28 15:50:17 -03:00
co-authored by Claude Sonnet 5
150 changed files with 33449 additions and 0 deletions
@@ -0,0 +1,33 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import fs from 'node:fs/promises';
import os from 'node:os';
import path from 'node:path';
import { collect } from '../src/sources/cnpj-base.mjs';
const header = 'cnpj;razao_social;nome_fantasia;municipio;uf;cnae\n';
const row = (cnpj, nome, uf) => `${cnpj};${nome};${nome};Salvador;${uf};5611201\n`;
test('cnpj-base le somente o CSV da UF solicitada e o legado apenas para Bahia', async (t) => {
const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'cnpj-files-'));
t.after(() => fs.rm(dir, { recursive: true, force: true }));
await fs.writeFile(path.join(dir, 'estabelecimentos-BA.csv'), header + row('11111111000111', 'BA EXATA', 'BA'));
await fs.writeFile(path.join(dir, 'estabelecimentos-SP.csv'), header + row('22222222000122', 'SP ERRADA', 'SP'));
await fs.writeFile(path.join(dir, 'checkpoint-estabelecimentos-BA.csv'), header + row('33333333000133', 'CHECKPOINT', 'BA'));
await fs.writeFile(path.join(dir, 'qualquer.csv'), header + row('44444444000144', 'GENERICO', 'BA'));
await fs.writeFile(path.join(dir, 'estabelecimentos-bahia.csv'), header + row('55555555000155', 'LEGADO', 'BA'));
const names = [];
const params = {
uf: 'BA', cities: ['Salvador'],
segments: [{ name: 'restaurantes', cnaeCodes: ['5611201'], queries: [] }]
};
const ctx = { cnpjDir: dir, isCancelled: () => false, log() {}, emit() {}, endpoints: {} };
for await (const batch of collect(params, ctx)) names.push(...batch.leads.map((lead) => lead.company.name));
assert.deepEqual(names, ['BA EXATA']);
await fs.rm(path.join(dir, 'estabelecimentos-BA.csv'));
names.length = 0;
for await (const batch of collect(params, ctx)) names.push(...batch.leads.map((lead) => lead.company.name));
assert.deepEqual(names, ['LEGADO']);
});