Aller au contenu principal

Fake

Permets de réaliser des requêtes HTTP sans passer par le réseau.

Simule un serveur HTTP et permet de définir des routes, des réponses, de simuler de la latence ou des erreurs.

Références

const fakeRequest = <T, B = unknown>(data: T, url: string, body?: B | null, status?: number, error?: unknown, latency?: number, headers?: unknown) => Promise<{
status: number;
data: T;
headers: unknown;
}>;

Paramètres

  • data
    • Requis
    • Donnée à retourner (exemple : { id: 1, name: 'John Doe' }).
  • url
    • Requis
    • URL de la requête (exemple : '/users').
  • body
    • Corps de la requête (exemple : { name: 'John Doe' }).
  • status
    • Statut de la réponse (exemple : 200).
  • error
    • Erreur à retourner (exemple : new Error('Not found')).
  • latency
    • Temps de latence (exemple : 1000).
  • headers
    • Headers de la réponse (exemple : { 'Content-Type': 'application/json' }).

Exemples

import { fakeRequest } from '@creatic/reactic-utils';

type User = {
id: number;
name: string;
};

const users: User[] = [
{ id: 1, name: 'John Doe' },
{ id: 2, name: 'Jane Doe' },
];

fakeRequest<User[]>(users, '/users'); // get

// Réponse :
// { status: 200, data: [{ id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Doe' }] }
import { fakeRequest } from '@creatic/reactic-utils';

type User = {
id: number;
name: string;
};

const users: User[] = [
{ id: 1, name: 'John Doe' },
{ id: 2, name: 'Jane Doe' },
];

const newUser: User = { id: 3, name: 'Foo Bar' };

fakeRequest<User[],User>(users, '/users', newUser, 201); // post

// Réponse :
// { status: 201, data: [{ id: 1, name: 'John Doe' }, { id: 2, name: 'Jane Doe' }, { id: 3, name: 'Foo Bar' }] }