storybook/docs/snippets/common/msw-addon-configure-handlers-http.js.mdx
2024-05-24 20:56:59 +01:00

63 lines
1.2 KiB
Plaintext

```js
// YourPage.stories.js|jsx
import { http, HttpResponse, delay } from 'msw';
import { DocumentScreen } from './YourPage';
export default {
component: DocumentScreen,
};
// 👇 The mocked data that will be used in the story
const TestData = {
user: {
userID: 1,
name: 'Someone',
},
document: {
id: 1,
userID: 1,
title: 'Something',
brief: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
status: 'approved',
},
subdocuments: [
{
id: 1,
userID: 1,
title: 'Something',
content:
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
status: 'approved',
},
],
};
export const MockedSuccess = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
};
export const MockedError = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
};
```