UNPKG

overmind

Version:
39 lines 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createOvermindMock = void 0; const tslib_1 = require("tslib"); const Overmind_1 = require("./Overmind"); const utils = tslib_1.__importStar(require("./utils")); function createOvermindMock(...args) { const setState = typeof args[1] === 'function' ? args[1] : args[2]; const mockedEffects = typeof args[1] === 'function' ? undefined : args[1]; const state = utils.deepCopy(args[0].state); if (setState) { ; setState(state); } const mock = new Overmind_1.Overmind(Object.assign({}, args[0], { state, }), { devtools: false, }, { mode: utils.MODE_TEST, options: { effectsCallback: (effect) => { const mockedEffect = (effect.name ? effect.name.split('.') : []).reduce((aggr, key) => (aggr ? aggr[key] : aggr), mockedEffects); if (!mockedEffect || (mockedEffect && !mockedEffect[effect.method])) { throw new Error(`The effect "${effect.name}" with method ${effect.method} has not been mocked`); } return mockedEffect[effect.method](...effect.args); }, }, }); const action = mock.createAction('onInitialize', utils.createOnInitialize()); mock.onInitialize = () => action(mock); mock.mutations = []; return mock; } exports.createOvermindMock = createOvermindMock; //# sourceMappingURL=OvermindMock.js.map