【发布时间】:2020-05-20 15:47:24
【问题描述】:
我有一个动作创建者,我应该如何用 jest 测试它? 问题是,我什至无法进入 Api 函数,这就是为什么我无法获得 LOGIN_SUCCESS, 当我检查 store.getState() 它只给我 LOGIN_REQUEST 和 LOGIN_FAILURE
const authUser = (login, password) => async (dispatch) => {
dispatch({
type: actionTypes.LOGIN_REQUEST,
});
try {
return await Api('login', 'post', { login, password })
.then((response) => {
const { data } = response;
if (data.error) {
throw data;
}
const { value } = response.data;
let encoded = [];
encoded = JSON.parse(Base64.decode(value));
dispatch({
type: actionTypes.LOGIN_SUCCESS,
payload: {
encoded,
},
});
return encoded;
})
.catch((error) => {
throw error;
});
} catch (error) {
dispatch({
type: actionTypes.LOGOUT_FAILURE,
payload: {
error,
},
});
}
};
api.js
axios.defaults.withCredentials = true;
const Api = (path, method, data) => {
return axios({
method,
url: `${process.env.REACT_APP_URL}${path}`,
headers: {
Authorization: `Basic ${process.env.REACT_APP_SECRET_TOKEN}`,
'Content-Type': 'application/json;charset=utf-8',
},
data,
});
};
【问题讨论】:
标签: reactjs redux jestjs axios