redux-saga-test-plan
redux-saga-test-plan copied to clipboard
How to run some code after a certain dispatch while saga is still running
function* cb() {
yield put({ type: 'actionB' }))
}
function* saga() {
yield take('actionA');
someEventListener(cb)
yield take('actionB');
yield put({ type: 'success' });
}
Now what i want my test to be like is
it('should run saga to completion', () => {
return expectSaga(saga)
.dispatch({ type: 'actionA' })
.runCustomCode(() => {
const callback = someEventListener.mock.calls[0][0];
callback();
})
.put({ type: 'success' })
.run();
})
Is there anyway to achieve this?