Каков правильный способ проверить реакцию пользовательского интерфейса, включая запрос asyn c rest? - PullRequest
0 голосов
/ 13 июля 2020

Мое приложение извлекает некоторые данные из rest api, используя экземпляр ax ios. Теперь у меня есть тест, который выглядит примерно так:

it('api call test', async () => {
    act(() => {
        ReactDOM.render(
            <React.StrictMode>
                <App/>
            </React.StrictMode>
            , container);
    });

    const data = {
        "id": "1",
        "text": "bibabo"
    };

    jest.spyOn(api, "get").mockImplementation((url: string, config: AxiosRequestConfig | undefined) => {
        return Promise.resolve({data});
    })
    const main = document.querySelector("main");
    const link = document.querySelector("a[href='/data/1']");
    act(() => {
        link?.dispatchEvent(new MouseEvent('click', {bubbles: true}));
    });
    await wait(() => {
        expect(main?.textContent).toContain("bibabo");
    });
});

Этот тест работает нормально, но я немного недоволен использованием ожидание, ожидание , особенно я не уверен, что это чехол для использования подождите . Так есть ли лучший / правильный способ проверить запрос ajax?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...