Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

255
Vistas
Tiempo de espera: la devolución de llamada asíncrona no se invocó dentro de los 5000 ms

Creé este gancho:

 import { useQuery, gql } from '@apollo/client'; export const GET_DECIDER = gql` query GetDecider($name: [String]!) { deciders(names: $name) { decision name value } } `; export const useDecider = (name) => { const { loading, data } = useQuery(GET_DECIDER, { variables: { name } }); console.log('loading:', loading); console.log('data:', data); return { enabled: data?.deciders[0]?.decision, loading }; };

Estoy tratando de probarlo con la biblioteca de pruebas de reacción:

 const getMock = (decision) => [ { request: { query: GET_DECIDER, variables: { name: 'FAKE_DECIDER' }, }, result: { data: { deciders: [{ decision }], }, }, }, ]; const FakeComponent = () => { const { enabled, loading } = useDecider('FAKE_DECIDER'); if (loading) return <div>loading</div>; console.log('DEBUG-enabled:', enabled); return <div>{enabled ? 'isEnabled' : 'isDisabled'}</div>; }; // Test import React from 'react'; import { render, screen, cleanup, act } from '@testing-library/react'; import '@testing-library/jest-dom'; import { MockedProvider } from '@apollo/client/testing'; import { useDecider, GET_DECIDER } from './useDecider'; describe('useDecider', () => { afterEach(() => { cleanup(); }); it('when no decider provided - should return false', async () => { render(<MockedProvider mocks={getMock(false)}> <FakeComponent /> </MockedProvider> ); expect(screen.getByText('loading')).toBeTruthy(); act((ms) => new Promise((done) => setTimeout(done, ms))) const result = screen.findByText('isDisabled'); expect(result).toBeInTheDocument(); }); });

Sigo recibiendo este error:

Tiempo de espera: la devolución de llamada asíncrona no se invocó dentro del tiempo de espera de 5000 ms especificado por jest.setTimeout.Timeout: la devolución de llamada asíncrona no se invocó dentro del tiempo de espera de 5000 ms especificado por jest.setTimeout.Error:

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda