docs/_snippets/msw-addon-configure-handlers-http.md
import { http, HttpResponse, delay } from 'msw';
import type { Meta, StoryObj } from '@storybook/angular';
import { DocumentScreen } from './your-page.component';
const meta: Meta<DocumentScreen> = {
component: DocumentScreen,
};
export default meta;
type Story = StoryObj<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: Story = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
};
export const MockedError: Story = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
};
import { http, HttpResponse, delay } from 'msw';
import preview from '../.storybook/preview';
import { DocumentScreen } from './your-page.component';
const meta = preview.meta({
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 = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
});
export const MockedError = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
});
<script module>
import { defineMeta } from '@storybook/addon-svelte-csf';
import { http, HttpResponse, delay } from 'msw';
import DocumentScreen from './YourPage.svelte';
const { Story } = defineMeta({
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",
},
],
};
</script>
<Story
name="MockedSuccess"
parameters={{
msw: {
handlers: [
http.get('https://your-restful-endpoint', () => {
return HttpResponse.json(TestData);
}),
],
},
}}
/>
<Story
name="MockedError"
parameters={{
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
}}
/>
import { http, HttpResponse, delay } from 'msw';
import DocumentScreen from './YourPage.svelte';
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,
});
}),
],
},
},
};
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,
});
}),
],
},
},
};
<script module>
import { defineMeta } from '@storybook/addon-svelte-csf';
import { http, HttpResponse, delay } from 'msw';
import DocumentScreen from './YourPage.svelte';
const { Story } = defineMeta({
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",
},
],
};
</script>
<Story
name="MockedSuccess"
parameters={{
msw: {
handlers: [
http.get('https://your-restful-endpoint', () => {
return HttpResponse.json(TestData);
}),
],
},
}}
/>
<Story
name="MockedError"
parameters={{
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
}}
/>
// Replace your-framework with svelte-vite or sveltekit
import type { Meta, StoryObj } from '@storybook/your-framework';
import { http, HttpResponse, delay } from 'msw';
import DocumentScreen from './YourPage.svelte';
const meta = {
component: DocumentScreen,
} satisfies Meta<typeof DocumentScreen>;
export default meta;
type Story = StoryObj<typeof meta>;
// ๐ 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: Story = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
};
export const MockedError: Story = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
};
// Replace your-framework with the framework you are using, e.g. react-vite, nextjs, vue3-vite, etc.
import type { Meta, StoryObj } from '@storybook/your-framework';
import { http, HttpResponse, delay } from 'msw';
import { DocumentScreen } from './YourPage';
const meta = {
component: DocumentScreen,
} satisfies Meta<typeof DocumentScreen>;
export default meta;
type Story = StoryObj<typeof meta>;
// ๐ 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: Story = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
};
export const MockedError: Story = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
};
import { http, HttpResponse, delay } from 'msw';
export default {
component: 'demo-document-screen',
};
// ๐ 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,
});
}),
],
},
},
};
import type { Meta, StoryObj } from '@storybook/web-components-vite';
import { http, HttpResponse, delay } from 'msw';
const meta: Meta = {
component: 'demo-document-screen',
};
export default meta;
type Story = StoryObj;
// ๐ 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: Story = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
};
export const MockedError: Story = {
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
};
import { http, HttpResponse, delay } from 'msw';
import preview from '../.storybook/preview';
const meta = preview.meta({
component: 'demo-document-screen',
});
// ๐ 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 = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
});
export const MockedError = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
});
import { http, HttpResponse, delay } from 'msw';
import preview from '../.storybook/preview';
const meta = preview.meta({
component: 'demo-document-screen',
});
// ๐ 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 = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
});
export const MockedError = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
});
import { http, HttpResponse, delay } from 'msw';
import preview from '../.storybook/preview';
import { DocumentScreen } from './YourPage';
const meta = preview.meta({
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 = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
});
export const MockedError = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
});
import { http, HttpResponse, delay } from 'msw';
import preview from '../.storybook/preview';
import { DocumentScreen } from './YourPage';
// ๐ 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',
},
],
};
const meta = preview.meta({
component: DocumentScreen,
});
export const MockedSuccess = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
});
export const MockedError = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
});
import { http, HttpResponse, delay } from 'msw';
import preview from '../.storybook/preview';
import DocumentScreen from './YourPage.vue';
// ๐ 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',
},
],
};
const meta = preview.meta({
component: DocumentScreen,
});
export const MockedSuccess = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
});
export const MockedError = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
});
import { http, HttpResponse, delay } from 'msw';
import preview from '../.storybook/preview';
import DocumentScreen from './YourPage.vue';
const meta = preview.meta({
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 = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint/', () => {
return HttpResponse.json(TestData);
}),
],
},
},
});
export const MockedError = meta.story({
parameters: {
msw: {
handlers: [
http.get('https://your-restful-endpoint', async () => {
await delay(800);
return new HttpResponse(null, {
status: 403,
});
}),
],
},
},
});