Estrategia de Testing y CI
Estrategia de Testing y CI
Sección titulada «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.
Pruebas de API con Vitest
Sección titulada «Pruebas de API con Vitest»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.
Comandos para Ejecutar Pruebas
Sección titulada «Comandos para Ejecutar Pruebas»# Correr todas las pruebas con reporte de coberturapnpm test
# Correr Vitest en modo interactivo/watchpnpm test:watchPruebas 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.
# Ejecutar todas las pruebas E2Epnpm test:e2e
# Ejecutar con la interfaz visual interactiva de Playwrightpnpm test:e2e:uiPruebas de Humo (pnpm smoke)
Sección titulada «Pruebas de Humo (pnpm smoke)»El script scripts/smoke.sh realiza peticiones HTTP reales contra un servidor en ejecución para verificar que los componentes clave respondan adecuadamente:
pnpm smokeVerificació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.