Contratos de pruebas y CI
Usa los niveles de prueba, infraestructura real, Playwright, cobertura incremental y gates de build sin debilitar garantías.
Verificado con el commit
2a1a04a.
La suite se organiza por lo que cada nivel puede simular. Un test con base simulada no prueba una restricción única; una ruta que simula su guard tampoco prueba que autentique antes de leer datos.
| Nivel | Demuestra | Puede simular |
|---|---|---|
| Unit | reglas puras y arquitectura | nada |
| API | HTTP, envelope y orden de auth | servicios/modelos, no guards |
| Service | orquestación, reintentos, coste, compensación | modelos y SDK externos |
| Component | comportamiento visible | fetch |
| Database | restricciones, locks, timestamps reales | nada |
| E2E | navegador autenticado e infraestructura local | nada |
Cada ruta necesita un test de auth que pruebe que la función de datos no fue llamada antes del 401/403. Cada mutación de dinero o créditos necesita un test de replay con un único efecto.
pnpm test:fast
pnpm test:run
pnpm test:cov
pnpm test:db
pnpm test:e2eLa base debe incluir test en su nombre porque el harness trunca tablas. La cobertura protege servicios, modelos, APIs y datos admin. Playwright prueba login, créditos tenant, subida/borrado en Garage y la tarea de imagen de cinco créditos hasta el worker y la descarga firmada.
CI ejecuta lint, migraciones PostgreSQL 16, Redis, cobertura, todos los builds y el navegador. No reduzcas umbrales ni sustituyas infraestructura real por mocks para obtener verde.