ADR-013 — Testing Strategy

Architecture decision record — status: Accepted.

Source: docs/adr/ADR-013-testing-strategy.md

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:

  1. Unit (dominio / casos de uso) — sin DB ni red.
  2. Integration (persistencia, API, fronteras).
  3. Contract (cuando hay varios clientes del mismo contrato).
  4. 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):

CapaRunner
API unit / use casesJest (convención Nest *.spec.ts)
API e2eJest e2e (apps/api/test)
packages / web unitVitest
E2E UI P0Playwright — 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.