clinica-veterinaria/orchestration/_definitions/validations/VALIDATION-BACKEND.md
rckrdmrd faeb932c89 [GOBERNANZA] feat: Propagar gobernanza completa a clinica-veterinaria
- Crear _definitions/ con protocolos, validaciones y checklists
- Configurar rol CONSUMER con tipo_herencia SPECIALIZES
- Definir modulos propios: mascotas, vacunacion, hospitalizacion
- Crear docs/_SSOT/ con estructura de trazabilidad

Herencia: erp-core -> erp-clinicas -> clinica-veterinaria

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 10:32:03 -06:00

1.7 KiB

Validación Backend - NestJS/TypeScript

Definición Canónica

Alias: @DEF_VAL_BE Dominio: Backend NestJS/TypeScript


COMANDOS OBLIGATORIOS

# ANTES de marcar tarea como completada:
npm run build    # DEBE pasar sin errores
npm run lint     # DEBE pasar sin errores
npm run test     # Si existen tests, DEBEN pasar

CRITERIOS DE ACEPTACIÓN

build:
  resultado: "Compila sin errores"
  archivos_generados: "dist/"
  sin_warnings_criticos: true

lint:
  resultado: "0 errores de ESLint"
  warnings_permitidos: "Solo menores"
  reglas_obligatorias:
    - "@typescript-eslint/no-explicit-any"
    - "@typescript-eslint/no-unused-vars"

test:
  resultado: "100% tests pasan"
  coverage_minimo: "70% (si configurado)"
  nuevos_tests: "Crear para código nuevo"

VALIDACIONES ADICIONALES

entities:
  - "Alineadas con DDL (nombres, tipos)"
  - "Relaciones correctamente definidas"
  - "Decoradores TypeORM correctos"

services:
  - "Inyección de dependencias correcta"
  - "Manejo de errores implementado"
  - "Transacciones donde aplique"

controllers:
  - "Decoradores Swagger completos"
  - "Validación de DTOs"
  - "Guards aplicados"

dtos:
  - "class-validator decoradores"
  - "Tipos correctos"
  - "Documentación Swagger"

ERRORES COMUNES

- error: "Cannot find module"
  causa: "Import incorrecto o dependencia faltante"
  solucion: "Verificar rutas y npm install"

- error: "Type X is not assignable to type Y"
  causa: "Tipos incompatibles"
  solucion: "Alinear tipos con DDL/interfaces"

- error: "Circular dependency"
  causa: "Módulos se importan mutuamente"
  solucion: "Extraer a módulo compartido o forwardRef"

Referencia: @PERFIL_BACKEND, @SIMCO_BACKEND