Я собираюсь написать тестовые примеры JEST для метода ниже
const ApiSearchAddressCodeAndPostalCode = store => next => action => {
const {
type,
txtAdd,
sortAddressCode
} = action;
// Param Of Api Postal Code Search
const requestBodyPostalCode = {
postalCode: postalCode,
};
const headersPostalCode = {
'Content-Type': 'application/json',
'x-api': apiKey
};
return Axios.all([
Axios.get(
`${SEARCH_BASE_ADD_URL}/${txtAdd}`,
{ headers: { 'x-api': apiKey } },
{
params: {
sort: sortAddressCode,
}
}
),
//API SEARCH POSTAL CODE - (POST)
Axios.post(
SEARCH_BASE_POSTAL_NAME_URL,
requestBodyPostalCode,
{ headers: headersPostalCode }
)
])
.then(
Axios.spread(function(addressCode, postalCode) {
data.resultItem = addressCode.data.resultItem.concat(
postalCode.data.resultItem
);
}
Он использует ax ios .all и ax ios .spread, чтобы получить данные обратно. Я написал простой тест чехлы для Ax ios .get и Ax ios .post. Но как написать тестовый пример для этого?
Я пытался написать, как показано ниже.
it('Check handle call api success', async () => {
const mockAxiosSpreadResult = jest.fn();
axios.all.mockResolvedValue("test");
axios.spread.mockReturnValue(mockAxiosSpreadResult);
await ApiSearchAddressCodeAndPostalCode(store)(next)(action);
expect(mockAxiosSpreadResult).toHaveBeenCalledWith("test");
}