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' }).
- Corps de la requête (exemple :
- status
- Statut de la réponse (exemple :
200).
- Statut de la réponse (exemple :
- error
- Erreur à retourner (exemple :
new Error('Not found')).
- Erreur à retourner (exemple :
- latency
- Temps de latence (exemple :
1000).
- Temps de latence (exemple :
- headers
- Headers de la réponse (exemple :
{ 'Content-Type': 'application/json' }).
- Headers de la réponse (exemple :
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' }] }