Как проверить топор ios .all и топор ios .velop с Jest в Reactjs - PullRequest
0 голосов
/ 09 апреля 2020

Я собираюсь написать тестовые примеры 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");
}
...