EDlabsEDcheck

Probar sin internet

mockProvider responde en memoria. Tus tests no llaman a TypeSafe.

mockProvider es parte de la API pública. Úsalo en los tests de tu app para no gastar keys ni esperar la red.

Un test mínimo

import { createEDcheck, mockProvider, semantic } from "@edteam/edcheck"; const provider = mockProvider({  answers: { fullName: 0.12 },}); const bound = createEDcheck({ provider }).define(User, {  rules: {    fullName: semantic("Un nombre completo creíble de una persona real"),  },}); const result = await bound.safeParse({ fullName: "asdfasdf" }); // 0.12 está por debajo de 0.7 → failexpect(result.success).toBe(false);expect(result.issues[0]?.ruleId).toBe("fullName");

Cómo se elige la respuesta

  • answers es un mapa ruleId → número (para reglas sí/no) o una función.
  • Si no hay respuesta para esa regla, usa defaultAnswer (por defecto 0.9, o sea “pasa”).
  • Para reglas score, el mock elige un nivel a partir de lo que configures.

Otras opciones útiles

OpciónPara qué
delayMsEspera un rato. Sirve para probar cancelar.
errorLanza un EDcheckProviderError. Sirve para probar la política open/closed.
modelEl nombre que verás en el issue. Por defecto mock.

El mock guarda cada request en provider.calls. Así puedes afirmar qué preguntas se armaron, sin mirar la red.

expect(provider.calls).toHaveLength(1);expect(Object.keys(provider.calls[0]!.questions)).toContain("fullName");