2022-04-08 13:13:45 +02:00
|
|
|
import { SetupServerApi, setupServer } from 'msw/node';
|
|
|
|
import { rest } from 'msw';
|
|
|
|
|
|
|
|
export const testServerSetup = (): SetupServerApi => {
|
|
|
|
const server = setupServer();
|
|
|
|
|
|
|
|
beforeAll(() => server.listen());
|
|
|
|
afterAll(() => server.close());
|
|
|
|
afterEach(() => server.resetHandlers());
|
|
|
|
|
|
|
|
return server;
|
|
|
|
};
|
|
|
|
|
|
|
|
export const testServerRoute = (
|
|
|
|
server: SetupServerApi,
|
|
|
|
path: string,
|
2023-04-13 11:24:31 +02:00
|
|
|
json: object,
|
2023-06-05 11:58:25 +02:00
|
|
|
method: 'get' | 'post' | 'put' | 'delete' = 'get',
|
|
|
|
status: number = 200
|
2022-04-08 13:13:45 +02:00
|
|
|
) => {
|
|
|
|
server.use(
|
2023-04-13 11:24:31 +02:00
|
|
|
rest[method](path, (req, res, ctx) => {
|
2023-06-05 11:58:25 +02:00
|
|
|
return res(ctx.status(status), ctx.json(json));
|
2022-04-08 13:13:45 +02:00
|
|
|
})
|
|
|
|
);
|
|
|
|
};
|