Unit testing redux-saga task cancellation -
i wondering if had tips on how unit-test following redux-saga login/logout flow:
let pollingtask = null function * handlelogin () { try { const token = yield call(loginhandler) pollingtask = yield fork(handlepolls, token) yield put('login_succses') } catch (e) { yield put('login_failure') } } function * handlepolls (token) { while (true) { try { yield call(pollhandler, token) yield put('poll_success') } catch (e) { yield put('poll_failure') } { if (yield cancelled()) { yield call(pollcancelled) } } } } function * handlelogout () { try { yield call(logouthandler) yield cancel(pollingtask) yield put('logout_success') } catch (e) { yield put('logout_failure') } }
since need cancel pollingtask
on logout, tried using createmocktask() in tests value undefined
when invoke handlelogout()
saga, although know handlelogin()
started first , initialize pollingtask
.
any appreciated!
Comments
Post a Comment