FactuGES_ERP/docs/architecture/testing-guidelines.md

24 lines
1018 B
Markdown
Raw Normal View History

# Pruebas backend por capa
> Estado: **NORMATIVO**. Cada capa prueba su responsabilidad; no se repite la misma validación en todas ellas.
## DTO
Probar schemas válidos e inválidos, keys desconocidas cuando aplique, `optional`/`null` y schemas semánticos. Zod se prueba aquí.
## InputMapper
Probar `DTO + context → Value Objects/Props`, fallos de Value Objects, conversión a `Maybe` y `Result`/colecciones de errores. No repetir el parsing Zod de la route.
## Use case
Probar orquestación, transacción, colaboración con servicios, propagación de `Result` e idempotencia cuando aplique.
## Controller y routes
El controller prueba contexto autenticado, input enviado al use case y traducción `Result → HTTP`. Las routes se prueban cuando aporten valor estructural: guards, `validateRequest` y wiring.
## Integración
La integración HTTP real se documenta por separado en [Tests HTTP backend](../testing/backend-http-integration.md): Express, módulos, auth/tenant, MariaDB y Sequelize reales.