UNPKG

ducks

Version:

🦆🦆🦆 Ducks is a Reducer Bundles Manager that Implementing the Redux Ducks Modular Proposal with Great Convenience.

46 lines 1.79 kB
#!/usr/bin/env -S node --no-warnings --loader ts-node/esm /** * Ducks - https://github.com/huan/ducks * * @copyright 2020 Huan LI (李卓桓) <https://github.com/huan> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import { test } from 'tstest'; import reduxMockStorePkg from 'redux-mock-store'; import { createEpicMiddleware, combineEpics, } from 'redux-observable'; import { validateDuck, } from '../../src/mod.js'; import * as duck from './mod.js'; /** * Huan(202109): FIXME: CJS import problem should be fixed. * remove `as any` when import problem fixed. */ const configureMockStore = reduxMockStorePkg.default; validateDuck(duck); test('ding -> dong', async (t) => { const epicMiddleware = createEpicMiddleware(); /** * https://redux.js.org/recipes/writing-tests#async-action-creators */ const mockStore = configureMockStore([epicMiddleware]); const expectedActions = [ { type: duck.types.DING }, { type: duck.types.DONG }, ]; const store = mockStore(); epicMiddleware.run(combineEpics(...Object.values(duck.epics))); store.dispatch(duck.actions.ding()); t.same(store.getActions(), expectedActions, 'should get the DONG after DING'); }); //# sourceMappingURL=tests.spec.js.map