ADR-013: Testing Strategy
Estado
Accepted — enmendado 2026-08-23 (runners del stack)
Contexto
Desarrollo con agentes necesita gates claros sin amarrar Jest, Vitest, Playwright ni ningún runner.
Decisión
Pirámide:
- Unit (dominio / casos de uso) — sin DB ni red.
- Integration (persistencia, API, fronteras).
- Contract (cuando hay varios clientes del mismo contrato).
- E2E (pocos, P0).
Reglas:
- Tests en el mismo change que el código.
- Fase Tests obligatoria en
tasks.md. - CI bloquea merge si fallan las verificaciones definidas por el proyecto.
- Runners y cobertura mínima = ADR o DOC del stack cuando exista.
Amendment 2026-08-23 — runners (Accepted)
Stack TypeScript (ADR-001…008):
| Capa | Runner |
|---|---|
| API unit / use cases | Jest (convención Nest *.spec.ts) |
| API e2e | Jest e2e (apps/api/test) |
| packages / web unit | Vitest |
| E2E UI P0 | Playwright — cuando existan pantallas; no es gate del primer scaffold |
make check ejecuta unit + typecheck + lint. E2E UI se añade al epic de la primera pantalla P0.
Consecuencias
- Se puede exigir calidad sin imponer ecosistema JS/Python/etc. El amendment cierra JS para IVPrior.
Ver DOC-010 §4 y .specify/memory/testing.md.