Skip to main content

Testing

Testing en Moveat existe para proteger la corrección de negocio, no solo para subir un número de coverage. Los bugs más riesgosos son los que corrompen estado: comidas duplicadas, resúmenes calóricos incorrectos, sesiones rotas, conversión de unidades incorrecta, retries de webhooks que escriben dos veces o acciones de Agent que saltean validación de Platform.
Los números de coverage fueron medidos el 2026-06-13 desde los repos locales.

Snapshot actual

Platform

21 archivos de test, 61 tests pasando. Coverage existe pero falla el threshold global de 80%.

Agent

Los tests Go pasan. Statement coverage actual: 59.5%. Todavía no hay threshold global.
yarn test pasa en Platform, pero yarn test:coverage falla porque el threshold configurado es 80% y la cobertura actual está por debajo.

Filosofía

Prioridad de tests:
  1. Invariantes que pueden corromper datos.
  2. Auth y autorización.
  3. Contrato Agent-to-Platform.
  4. Conversión de unidades y timezone.
  5. Adapters externos.
  6. Wiring de bajo riesgo.
Coverage es una señal, no el objetivo final.

Platform

Comandos:

Qué cubre Platform

Gaps de Platform

  • Branch coverage bajo.
  • Workout service necesita más pruebas.
  • Redis service tiene poca cobertura.
  • Session guard necesita más casos.
  • Auth controller necesita más edge cases.
  • Lifecycle de Prisma está poco cubierto.

Agent

Comandos:

Tests recomendados

  1. Platform client de Agent con token, timeout, correlation ID e idempotency key.
  2. Idempotencia de meal logging ante retries.
  3. Session guard con sesiones faltantes, expiradas y malformadas.
  4. Workout logging con ejercicios, sets y payloads inválidos.
  5. Parser LLM con JSON incompleto o parcialmente válido.
  6. Media download con MIME validation y fallos de Meta API.

Política pre-deploy

Antes de deployar Platform:
Antes de deployar Agent:
Antes de cambios de contrato Agent/Platform, validar ambos repos, Swagger/OpenAPI, DTOs, auth interna e idempotencia.