ducks
Version:
🦆🦆🦆 Ducks is a Reducer Bundles Manager that Implementing the Redux Ducks Modular Proposal with Great Convenience.
46 lines • 1.79 kB
JavaScript
/**
* 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