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

226
Vistas
¿Cómo puedo manejar una promesa en Jest?

Recibo un error justo en esta parte de mi código. Received promise resolved instead of rejected y no estoy seguro de cómo manejar esto, ¿alguien puede ayudarme?

 it("should not create a media if the user doesn't exist", async () => { user.user= undefined; await usersRepository.save(user); await expect( createMedia.execute({ userId: user.id, type: 'video', media: 'video-media', description: 'description', }), ).rejects.toBeInstanceOf(AppError); });

Y:

 expect(received).rejects.toThrow() Received promise resolved instead of rejected Resolved to value: {"description": "description", "id": "id number", "media": "video-media", "userId": "id user", "type": "video"}
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su código está creando una promesa exitosa, que luego prueba contra un rechazo, por lo que falla porque se ejecuta con éxito y le dice que espera que falle.

Cuando usa .rejects , le está diciendo a la expect que espera que falle y sea rechazado, en este caso está teniendo éxito. Si cambia eso a resolves en lugar de rejects , funcionará.

O debe asegurarse de que la consulta que está realizando falle, es decir, actualizando algo que no existe.

Otra forma es ejecutar realmente su consulta, obtener el resultado y luego hacer una expect esperada en los datos devueltos.

Para mayor claridad, una promesa normal se ve así:

 const example = () => new Promise((resolve, reject) => ...

Luego puede llamar a esos métodos de resolución y rechazo dependiendo de si la promesa se resolvió correctamente o si falló, puede llamar al rechazo. Cuando usa .resolves o .rejects en broma, está probando esos métodos de resolución y rechazo en la promesa.

Cuando usa una función async , en realidad no ve eso, pero está haciendo lo mismo.

Lo que es más, cuando los usuarios cargan más archivos de los que realmente pueden, se romperá, razón por la cual en su caso en realidad no falla, porque en realidad es rechazado.

about 4 years ago · Juan Pablo Isaza Denunciar
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