Saltar al contenido principal

Testing

Backend — Tests de integración

20 suites de tests de integración en api/test/integration/:

SuiteRecursoTests
accounts/accounts, /accounts/:id/linksCRUD, pagination, sort, search
dossiers/dossiersCRUD, hierarchy, state, accounts
tasks/tasksList, filter, complete, claim
documents/documentsUpload, download, dedup, metadata
securityGuards, permisosAcceso sin token, permisos insuficientes
integrations/credentials, /endpoints, etc.CRUD, cURL import, executions
soap/soap/:id, /endpoints SOAPWSDL, invoke, WS-Security
configParámetros, bootstrapBootstrap idempotente
zzz-admin/admin/reset-databaseReset destructivo con verificación
filtersTodas las entidadesColumn filters tipados
mime-handlers/mime-handlersCRUD, builtin sync
environmentEnvironmentServiceisProduction, roles
healthGET /healthLiveness checks
queueBullMQ infraColas registradas, DLQ
flow-upload-documentUpload en contexto de tareaFlujo completo
notifications-webhooksNotificaciones + webhooksEmail, webhook saliente
bulk-operationsImport CSV, export tenantJobs async
dashboards/dashboards, /dashboards/:name/iframeCRUD, visibilidad por rol, SSO a Grafana
stock-metricsMétricas de negocio vía OTelEmisión y agregado de métricas
telemetryBootstrap del SDK OTel + correlation IDsSpans, trazas, baggage

Comando: cd api && pnpm test:e2e (requiere Docker services corriendo)

Frontend — Playwright E2E

Tests end-to-end en tests/frontend/flows/:

SpecFlujo
dossier-flowCrear account → login → crear dossier → verificar tarea → resolver
document-flowCrear 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.md y internal/tests-frontend.md