tape
Usage
// using ES6 modules
import test from 'tape';
import { assertions } from 'redux-actions-assertions';
// using CommonJS modules
var test = require('tape');
var assertions = require('redux-actions-assertions').assertions;
Usage is the same as the plain JavaScript assertions, you just need to set up the correct pass and fail callbacks. Also, be sure to call end in a Promise.then, or plan with the number of assertions you're making in the test (see below).
toDispatchActions
toDispatchActions(action, expectedActions, done, fail)
Asserts that when given action is dispatched it will dispatch expectedActions. action can be plain object (action) or function (action creator). expectedActions can be can be plain object (action) or function (action creator) or array of objects/functions.
// Using `t.plan`
test('Thunk: editTag', (t) => {
t.plan(1)
toDispatchActions(testActionCreator(), [{ type: 'MY_ACTION_START' }], t.pass, t.fail);
});
// Using `t.end`
test('Thunk: editTag', (t) => {
toDispatchActions(testActionCreator(), [{ type: 'MY_ACTION_START' }], t.pass, t.fail)
.then(t.end);
});
toNotDispatchActions
toNotDispatchActions(action, expectedActions, done, fail)
Asserts that when given action is dispatched it will not dispatch expectedActions. action can be plain object (action) or function (action creator). expectedActions can be can be plain object (action) or function (action creator) or array of objects/functions.
test('Thunk: editTag', (t) => {
t.plan(1);
toNotDispatchActions(testActionCreator(), [{ type: 'MY_ACTION_START' }], t.pass, t.fail);
});
toDispatchActionsWithState
toDispatchActionsWithState(initialState, action, expectedActions, done, fail)
Same as toDispatchActions + asserts that store initialised with state before action is dispatched.
test('Thunk: editTag', (t) => {
t.plan(1);
toDispatchActions({property: 'value'}, testActionCreator(), [{ type: 'MY_ACTION_START' }], t.pass, t.fail);
});
toNotDispatchActionsWithState
toNotDispatchActionsWithState(initialState, action, expectedActions, done, fail)
Same as toNotDispatchActions + asserts that store initialised with state before action is dispatched.
test('Thunk: editTag', (t) => {
t.plan(1);
toNotDispatchActions({property: 'value'}, testActionCreator(), [{ type: 'MY_ACTION_START' }], t.pass, t.fail);
});