O módulo usa a identidade Supabase, isola cada workspace e registra storage, TTL, runner e biblioteca XLSX como decisões ainda abertas. Co-authored-by: Cursor <cursoragent@cursor.com>
1.6 KiB
1.6 KiB
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.