Skip to content

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

License

Notifications You must be signed in to change notification settings

kylelamse/redux-mock-store

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Circle CI

npm

JavaScript Style Guide

redux-mock-store

A mock store for testing your redux async action creators and middleware. The mock store will store the dispatched actions in an array to be used in your tests.

Old version documentation (< 1.x.x)

https://github.com/arnaudbenard/redux-mock-store/blob/v0.0.6/README.md

Install

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

How to use

// actions.test.js

import configureStore from 'redux-mock-store'
import thunk from 'redux-thunk'

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

// Test example with mocha and expect
it('should dispatch action', () => {
  const initialState = {}
  const addTodo = { type: 'ADD_TODO' }

  const store = mockStore(initialState)
  store.dispatch(addTodo)

  const actions = store.getActions()

  expect(actions).toEqual([addTodo])
});

// Promise test example with mocha and expect
it('should execute promise', () => {
    function success() {
      return {
        type: 'FETCH_DATA_SUCCESS'
      }
    }

    function fetchData () {
      return dispatch => {
        return fetch('/users.json') // Some async action with promise
          .then(() => dispatch(success()))
      };
    }

    const store = mockStore({})

    // Return the promise
    return store.dispatch(fetchData())
      .then(() => {
        expect(store.getActions()[0]).toEqual(success())
      })
})

API

- configureStore(middlewares?: Array) => mockStore: function
- mockStore(getState?: Object,Function) => store: Function
- store.dispatch(action) => action
- store.getState() => state: Object
- store.getActions() => actions: Array
- store.clearActions()
- store.subscribe()

License

MIT

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%