Testing
Backend — Tests de integración
20 suites de tests de integración en api/test/integration/:
| Suite | Recurso | Tests |
|---|---|---|
| accounts | /accounts, /accounts/:id/links | CRUD, pagination, sort, search |
| dossiers | /dossiers | CRUD, hierarchy, state, accounts |
| tasks | /tasks | List, filter, complete, claim |
| documents | /documents | Upload, download, dedup, metadata |
| security | Guards, permisos | Acceso sin token, permisos insuficientes |
| integrations | /credentials, /endpoints, etc. | CRUD, cURL import, executions |
| soap | /soap/:id, /endpoints SOAP | WSDL, invoke, WS-Security |
| config | Parámetros, bootstrap | Bootstrap idempotente |
| zzz-admin | /admin/reset-database | Reset destructivo con verificación |
| filters | Todas las entidades | Column filters tipados |
| mime-handlers | /mime-handlers | CRUD, builtin sync |
| environment | EnvironmentService | isProduction, roles |
| health | GET /health | Liveness checks |
| queue | BullMQ infra | Colas registradas, DLQ |
| flow-upload-document | Upload en contexto de tarea | Flujo completo |
| notifications-webhooks | Notificaciones + webhooks | Email, webhook saliente |
| bulk-operations | Import CSV, export tenant | Jobs async |
| dashboards | /dashboards, /dashboards/:name/iframe | CRUD, visibilidad por rol, SSO a Grafana |
| stock-metrics | Métricas de negocio vía OTel | Emisión y agregado de métricas |
| telemetry | Bootstrap del SDK OTel + correlation IDs | Spans, trazas, baggage |
Comando: cd api && pnpm test:e2e (requiere Docker services corriendo)
Frontend — Playwright E2E
Tests end-to-end en tests/frontend/flows/:
| Spec | Flujo |
|---|---|
| dossier-flow | Crear account → login → crear dossier → verificar tarea → resolver |
| document-flow | Crear datos → subir documento → verificar tarea → resolver |
Comando: cd tests/frontend && pnpm test
Política de testing
- Todo cambio DEBE incluir test nuevo o actualización en el mismo commit
- Tests nuevos nunca se marcan como
.skip - Si un test falla, se arregla antes de commitear
- Fuente de verdad:
internal/tests-backend.mdyinternal/tests-frontend.md