Я тестирую Redux Action Creator с Jest
Это создатель действия:
const addDiscount = ({ code }) => (dispatch, getState) => {
const { id } = getState().token;
return dispatch({
apiCall: discount.put({
body: {
code
},
id,
}),
types: ADD_DISCOUNT.triplet,
});
};
И это мой тест:
const apiCallMock = jest.fn()
const dispatch = jest.fn(() => {
return {
apiCall: apiCallMock,
};
});
const customerOrderId = 'customer-order-id';
const getState = jest.fn(() => ({
token: {
customerOrderId,
},
}));
const res = addDiscount({ code: 'abc123' })(dispatch, getState);
console.log(res)
console.log(dispatch.mock.calls[0][0]);
console.log(apiCallMock.mock);
ЕслиЯ пытаюсь console.log(res)
результат не определен.
console.log(dispatch.mock.calls[0][0]);
показывает типы, но apiCall - это функция, которая еще не была запущена.
console.log(apiCallMock.mock);
, по-видимому, не был запущен