JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 177596
  • Score
    100M100P100Q174183F
  • License MIT

A storybook addon to mock http request

Package Exports

  • storybook-addon-mock

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (storybook-addon-mock) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Storybook Addon Mock Request

dependencies Status Actions Status npm npm version

Follow @nutboltu

NPM

This addon allows you to mock fetch or XMLHttprequest requests in storybook. If your component depends on backend apis, and your backend apis are not ready yet to feed your component, then this addon provides mock response to build your component.

Live Demo

Why we need this

There are few packages those help the developers to mock the backend apis while building components. But those packages aren't integrated properly in storybook and also there's no scope to play with those apis in the storybook. storybook-addon-mock provides a dedicated panel in the storybook which helps the developer to view and update the apis with multiple scenarios.

How to use

Install the addon in your project as dev dependencies.

  yarn add -D storybook-addon-mock

Using Storybook 6

Add the decorator in your addons, in .storybook/main.js:

module.exports = {
  addons: [
    'storybook-addon-mock/register',
  ],
}

Add decorator in the stories.

import React from 'react'
import withMock from 'storybook-addon-mock'
import Component from './Component'

export default {
  title: 'Component',
  component: Component,
  decorators: [withMock],
}

const Template = args => <Component {...args} />

export const Default = Template.bind({})
Default.parameters = {
   mockData: [{
      url: 'https://jsonplaceholder.typicode.com/todos/1',
      method: 'GET',
      status: 200,
      response: {
        data: 'This is a Mock Response!',
      },
   }],
}

Thanks to shilman for this solution

Using older versions of Storybook

Add the register in your .storybook/addons.js file

import 'storybook-addon-mock/register';

Add withMock as a decorator in the stories.

import React from 'react';
import withMock from 'storybook-addon-mock';

storiesOf('Mock Response Story', module)
  .addDecorator(withMock)
  .add('Story Item', () => <ComponentWithAPICall />, {
    mockData: [{
      url: 'https://jsonplaceholder.typicode.com/todos/1',
      method: 'GET',
      status: 200,
      response: {
        data: 'This is a Mock Response!',
      },
    }],
  });

License

This project is licensed under the MIT License - see the LICENSE file in the source code for details.