Ir al contenido

Estrategia de Testing y CI

El repositorio cuenta con suites de pruebas unitarias, de integración y pruebas de humo para garantizar la estabilidad del sistema.

Las pruebas del backend se ubican en apps/api/test/ y se ejecutan con Vitest:

  • pos-lifecycle.test.ts: Pruebas completas del flujo de órdenes POS (creación, adición de ítems, envío a cocina, precuenta y cobro).
  • cash.test.ts: Verificación de aperturas, cierres y cálculos de diferencia en sesiones de caja.
  • procurement.test.ts: Validación de órdenes de compra e integración con aprobaciones.
  • errors.test.ts: Validación de respuestas de error HTTP y límites de seguridad.
  • kds.test.ts: Flujo de estaciones de cocina y despacho.
  • workflows.test.ts: Pruebas de flujos duraderos de aprobación.
Ventana de terminal
# Correr todas las pruebas con reporte de cobertura
pnpm test
# Correr Vitest en modo interactivo/watch
pnpm test:watch

Pruebas End-to-End con Playwright (pnpm test:e2e)

Sección titulada «Pruebas End-to-End con Playwright (pnpm test:e2e)»

El monorepo cuenta con una suite de pruebas End-to-End (E2E) construida con Playwright ubicada en e2e/specs/ que automatiza la navegación y verificación completa en navegador Chromium:

  • auth.spec.ts: Autenticación, inicio de sesión, credenciales inválidas y protección de rutas.
  • pos.spec.ts: Operación POS en Sala, Para Llevar y Delivery.
  • kds.spec.ts: Estaciones de cocina KDS y vista Por entregar.
  • caja-turnos.spec.ts: Apertura/cierre de caja y programación de turnos.
  • inventario.spec.ts: Gestión de insumos y mermas.
  • compras.spec.ts: Proveedores y órdenes de compra.
  • admin.spec.ts: Administración de menú, aprobaciones y configuración.
  • reportes-asistente.spec.ts: Clientes, reportes y asistente IA.
Ventana de terminal
# Ejecutar todas las pruebas E2E
pnpm test:e2e
# Ejecutar con la interfaz visual interactiva de Playwright
pnpm test:e2e:ui

El script scripts/smoke.sh realiza peticiones HTTP reales contra un servidor en ejecución para verificar que los componentes clave respondan adecuadamente:

Ventana de terminal
pnpm smoke

Verificación de Cobertura (check-api-coverage.mjs)

Sección titulada «Verificación de Cobertura (check-api-coverage.mjs)»

Tras ejecutar las pruebas unitarias, el script node scripts/check-api-coverage.mjs analiza la cobertura alcanzada en las rutas de apps/api/src/routes/ fallando si no se alcanza el umbral mínimo exigido.