UNPKG

bdn-pocket

Version:

pocket tools for managing redux and redux-saga

49 lines (41 loc) 1.32 kB
import test from 'ava' import R from 'ramda' import { MakeReqMessenger, Messenger } from '../src/messenger' import Action from '../src/action' import { checkMessages } from './lib' const DEF_MESSAGES = ['request', 'success', 'error', 'reset', 'ready'] test('ReqMessenger - create a messenger to handle request call', t => { const msgr = MakeReqMessenger({ name: 'hello' }) checkMessages(msgr, DEF_MESSAGES, t) }) test('ReqMessenger - overriding default reducers', t => { const myReqReducer = (state, action) => 'myReqReducer' const mySuccReducer = (state, action) => 'mySuccReducer' const MyReqMessenger = MakeReqMessenger .mergeReducers({ request: myReqReducer, success: mySuccReducer }) const msgr = MyReqMessenger({ name: 'hello' }) t.is( msgr.reducers[msgr.request.CONST](), myReqReducer(), 'defined request reducer is on place ' ) t.is( msgr.reducers[msgr.success.CONST](), mySuccReducer(), 'defined success reducer is on place ' ) checkMessages(msgr, DEF_MESSAGES, t) }) test('ReqMessenger - add your messages', t => { const msgr = MakeReqMessenger .add({ key: 'a', action: Action.def('a'), reducer(state, action) { return state } }) .create({ name: 'a'}) checkMessages(msgr, DEF_MESSAGES.concat(['a']), t) })