erp-construccion/docs/97-adr/ADR-010-testing-strategy.md

1.7 KiB

ADR-010: Testing Strategy

Estado: Aceptada Fecha: 2025-11-24 Responsable: Architecture-Analyst Proyecto: ERP Construccion

Contexto

El proyecto requiere testing robusto para:

  • Evitar regresiones en funcionalidades criticas
  • Validar integraciones INFONAVIT
  • Asegurar calculos de estimaciones correctos
  • Garantizar RLS policies funcionan

Decision

Piramide de Testing:

Tipo Coverage Objetivo Herramienta
Unit Tests 80% Jest + Testing Library
Integration Tests 70% Jest + Supertest
E2E Tests 60% (flujos criticos) Playwright

Flujos criticos E2E:

  • Login y autenticacion
  • Crear proyecto y asignar lotes
  • Crear y aprobar estimacion
  • Proceso completo INFONAVIT
  • Portal derechohabiente

Justificacion

Leccion de Gamilit

  • 14% coverage es INACEPTABLE (muchos bugs)
  • Minimo 70% para refactoring seguro

Especifico para Construccion

  • Calculos de estimaciones deben ser exactos
  • RLS policies criticas (seguridad INFONAVIT)
  • Integraciones externas requieren mocks

Consecuencias

Positivas

  • Reduccion 70% bugs
  • Refactoring seguro
  • Deployment con confianza
  • Documentacion viva (tests como specs)

Negativas

  • Tiempo adicional de desarrollo (~20%)
  • Mitigacion: TDD reduce tiempo total

Implementacion

Acciones Requeridas

  • Configurar Jest + Testing Library
  • Configurar Playwright para E2E
  • Crear fixtures para datos de prueba
  • Implementar tests para calculos de estimaciones
  • Tests de RLS policies

Criterios de Aceptacion

  • Coverage >= 70% antes de PR
  • E2E pasan en CI/CD
  • Zero bugs criticos en calculos

Referencias