FlagFix
SDKs

Tests unitaires

Moquer le réseau avec fetchImpl. Garder les tests hors-ligne et déterministes.

Last updated on

FlagFix

Objectif

Vérifier lecture de flags et file d’événements sans API réelle, de façon rapide et reproductible en CI.

Motif Node / navigateur

import { createFlagFix } from "@flagfix/node";

const client = createFlagFix({
  serverKey: "test-server-key",
  apiHost: "http://flagfix.test",
  fetchImpl: async (input) => {
    const url = String(input);
    if (url.includes("/evaluate-all") || url.includes("/evaluate-public")) {
      return new Response(
        JSON.stringify({
          flags: [{ key: "new_checkout", enabled: true, value: null, configurationVersion: 1 }],
          matchedSegments: [],
          configurationVersion: 1,
        }),
        { status: 200, headers: { "content-type": "application/json" } },
      );
    }
    return new Response("not mocked", { status: 500 });
  },
});

await client.start();

Côté React : lifecycle: false, provider avec client ou serverFlagState figé.

À éviter

  • Pointer les unitaires vers la prod / un staging partagé
  • Importer @flagfix/sdk-core. Testez via @flagfix/browser, @flagfix/node ou @flagfix/react

Voir aussi : Tester l’évaluation d’un flag.

Cette page vous a-t-elle été utile ?

On this page