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

91
Vistas
Intentar simular una devolución de datos en una promesa hace que se agote el tiempo de espera de broma

Así que tengo una función que es una promesa y devuelve una matriz (ya sea vacía o llena dependiendo de cómo regresen los datos) valores y está obteniendo los valores simulados, pero solo se está agotando el tiempo antes de que se resuelva?

 it('works correctly when audience assigned', () => { fetchEssentialComplianceData( { includeAudienceAssigned: true }, { id: 'userId' } ); getAssignedLearning.mock.calls[0][1]([], { getUserAssignments: { results: [ { content: { contentType: 'contentType', isOfficial: true, title: 'content title', }, contentId: 'content id', dueDate: 'due date', }, ], }, }); expect(getAssignedLearning).toHaveBeenCalledTimes(1); expect(getAssignedLearning).toHaveBeenCalledWith( { input: { userId: 'userId', pageNumber: 0, returnCount: 12, sort: [ { type: 'dueDate', order: 'desc', }, { type: 'dateCreated', order: 'desc', }, ], }, }, expect.any(Function) ); //TODO always times out before resolving? return expect( fetchEssentialComplianceData( { includeAudienceAssigned: true }, { id: 'userId' } ) ).resolves.toBe([]); });

Probé diferentes formas de escribirlo, haciéndolo su propia función, probé

Lo escribí así que pasó, pero fue un pase falso.

 const result = fetchEssentialComplianceData( { includeAudienceAssigned: true }, { id: 'userId' } ) expect(result).resolves.toBe(['123'])

También tengo la misma función probada pero sin retorno de datos (nunca se envía la solicitud) y esto funciona correctamente, lo he probado con diferentes valores para asegurarme y es correcto.

 it('works correctly when not audience assigned', () => { fetchEssentialComplianceData( { includeAudienceAssigned: false }, { id: 'userId' } ); expect(getAssignedLearning).toHaveBeenCalledTimes(0); return expect( fetchEssentialComplianceData({ includeAudienceAssigned: false }) ).resolves.toStrictEqual([]); });

Estoy realmente perplejo ahora, hice clic en todos los enlaces que pude encontrar con Google y no pude encontrar nada que funcionara.

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