24 lines
1018 B
Markdown
24 lines
1018 B
Markdown
|
|
# 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.
|