# 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.