# Plano de testes e resultado Comandos: `npm test`, `npm run typecheck`. A suíte abaixo passou na execução local desta entrega, junto com o typecheck. | Área | Evidência | Resultado | | --- | --- | --- | | Cabeçalho, tipos, 1:1, permissões, nomes, CSV, cache por workspace | `tests/unit/domain.test.ts` | Passou | | Lock, expiração e scrub do Sentry | mesmo arquivo | Passou | | 50.000 linhas CSV | `tests/performance/rows.test.ts` | Passou | | Path traversal, MIME, XLS, ZIP | `tests/security/files.test.ts` | Passou | | Switch, dialog, select, loading, vazio, erro | `tests/component/ui.test.tsx` | Passou | | Migrations e rollback do módulo | `tests/integration/migrations.test.ts` | Passou | | RLS A/B, agent versus owner | `tests/integration/rls.test.ts` | Passou | | Jornada modelo → mapa → prévia → processo → download, modelo intacto, idempotência, limites, aba, Redis indisponível, TTL, workspace forjado | `tests/integration/journey.test.ts` | Passou | ## Não executado aqui - E2E de browser contra o login real do Elo Pro. Não há host do ecossistema neste repositório. A jornada de API cobre o mesmo fluxo de negócio. - XLSX de 10 MB e 50.000 linhas pelo ExcelJS. O teto de 10 MB é rejeitado antes do parse. As 50.000 linhas foram medidas no caminho CSV/domínio. - Dois processos OS com Redis real. O lock em memória cobre dois usuários no mesmo processo; usuários diferentes usam chaves diferentes. Não há bloqueio de teste vermelho na suíte automatizada. Os bloqueios de release estão na revisão final e são decisões de plataforma, não falhas desta suíte.