Я использую макет топора ios для тестирования редукционных действий в моем приложении. Я застрял с проблемой тестирования функции действия asyn c, которая отправляет запрос POST
и отправляет еще несколько асин c действий, которые отправляют свои собственные запросы GET
. Как мне справиться с этим с помощью макетов?
Действия:
export function recordStepCompleted(step, isNewLevel = true) {
return function (dispatch) {
// setUserTaskComplete() action sends `POST` request
dispatch(setUserTaskComplete(step))
.then(() => isNewLevel && dispatch(rewardsActions.getUserLevels()));
dispatch({
type: types.RECORD_STEP_COMPLETED,
payload: { step }
});
};
}
export function getUserLevels() {
return function (dispatch, getState) {
dispatch(getAchievements()) // it sends GET request
.then(achievements => {
dispatch({ type: types.GET_LEVELS.REQUEST });
return api.getLevels() // it also sends GET request
.then(res => {
//......
dispatch({
type: types.GET_LEVELS.SUCCESS,
payload: { levels: { ...res.data, ... } }
});
})
.catch(error => /*....*/);
});
};
}
Итак, в общем, мне нужно смоделировать три разных запроса для проверки действия recordStepCompleted
, но я не не знаю как. Пожалуйста, помогите мне с этим. Заранее спасибо!