Estoy tratando de probar algunas llamadas API en Jest, sin embargo, la prueba está fallando ya que la llamada API depende de que otra llamada se complete primero, por lo que el valor devuelto está vacío en lugar de lo que debería estar allí. Estoy usando react-query para las llamadas a la API. ¿O hay una forma mejor u otra de probar las llamadas asíncronas? También estoy usando MSW para interceptar las llamadas a la API.
llamada asíncrona
const getApi = async (): Promise<any> => { const response = await axios.get(`https://www.xxxxx`).then(res => res.data); return response; }prueba
const queryClient = new QueryClient() describe('Comp1 tests', (): void => { beforeEach(() => { jest.useFakeTimers(); }); it('Should give correct response with render', async () => { renderWithQueryClient(<QueryClientProvider client={queryClient}><Comp1 /></QueryClientProvider>); expect(await screen.findByTestId('main-header')).toBeInTheDocument(); }); });Yo obtengo:
No se puede encontrar un elemento por: [data-testid="main-header"]