metis-desk/docs/arquitectura/pruebas.md

20 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

# Pruebas
Las pruebas verifican comportamiento observable, no detalles internos.
- DTO: casos válidos, inválidos, límites, claves desconocidas y semántica de ausencia.
- InputMapper: adaptación a Value Objects y errores de dominio, sin repetir Zod.
- UseCase: colaboración, transacciones, propagación de Result e idempotencia cuando corresponda.
- HTTP: middleware, entrada, contratos de salida, estados y autorización.
- Frontend: textos traducidos, estados y acciones observables.
Usar el runner nativo de Node.js con tsx. Las pruebas HTTP técnicas abren Express en un puerto efímero y usan fetch real, sin necesitar base de datos. Las pruebas de persistencia utilizan MariaDB y exclusivamente la base de pruebas. No utilizar esperas arbitrarias.
Las pruebas web usan renderizado React en servidor para verificar es/en, estados y contratos observables. No sustituyen una prueba de interacción en navegador.
`archive/` queda fuera de la suite activa. Las pruebas de retirada comprueban la ausencia de las funciones archivadas y la conservación de los datos de las entidades activas.
Comprobaciones transversales: pnpm typecheck, pnpm lint, pnpm test, pnpm check y pnpm build.
Si una no se ejecuta o falla, documentar exactamente cuál y por qué.
La prueba web fija el tsconfig raíz mediante TSX_TSCONFIG_PATH para que el runtime JSX automático también se aplique al código importado desde módulos del workspace.