Skip to content

A mock store for testing Redux async action creators and middleware.

License

NotificationsYou must be signed in to change notification settings

reduxjs/redux-mock-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Circle CI

redux-mock-store

A mock store for your testing your redux async action creators and middleware

Install

npm install redux-mock-store --save-dev

How to use

// actions.test.js

import configureStore from 'redux-mock-store';

const middlewares = []; // add your middlewares like `redux-thunk`
const mockStore = configureStore(middlewares);

// Test in mocha
it('should dis action', (done) => {
  const getState = {}; // initial state of the store
  const action = { type: 'ADD_TODO' };
  const expectedActions = [action];

  const store = mockStore(getState, expectedActions, done);
  store.dis(action);
})

Custom test function for actions can also be supplied, useful if your actions have a dynamic part.

// Test in mocha
it('should dis action', (done) => {
  const getState = {}; // initial state of the store
  const action = { type: 'ADD_TODO' };
  const expectedActions = [(incomingAction) => {
    if (incomingAction.type !== 'ADD_TODO') {
      throw Error('Expected action of type ADD_TODO');
    }
  }];

  const store = mockStore(getState, expectedActions, done);
  store.dis(action);
})

License

MIT