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

95
Vistas
Rechazar promesa con cadena en función que tiene un tipo de retorno diferente

Tengo una función así:

 invoke(token: string): Promise<IUserDto> { return new Promise((reject, resolve) => { // Tokens are generally passed in the header of the request // Due to security reasons. let jwtSecretKey = process.env.JWT_SECRET_KEY; try { const verified = jwt.verify(token, jwtSecretKey!); if(verified){ resolve(verified); }else{ // Access Denied reject(); } } catch (error) { // Access Denied reject(); } }); }

Y estoy tratando de probarlo así:

 it('Validate user token use case', async () => { let jwtSecretKey = process.env.JWT_SECRET_KEY; let userData: IUserDto = { id: 'testid', firstName: 'firstName', lastName: 'lastName', username: 'username', email: 'test@test.com', password: 'testpassword', birthDate: new Date('0'), reports: [ new Report('report_id', 'report data', 0) ] }; let token = jwt.sign(userData, jwtSecretKey!); let validateUserTokenUseCase = new ValidateUserTokenUseCase(); let validated: IUserDto | String = await validateUserTokenUseCase.invoke(token); expect(validated.id).toBe(userData.id); })

No puedo hacer esto porque al rechazar la promesa en la función, no devuelve un objeto de IUserDto, devuelve cualquier cadena de error que puse en el rechazo.

He intentado definir el tipo de devolución como Promise<IUserDto | String> , pero mi IDE no lo detecta bien, no puedo ver, por ejemplo, validated.id cuando lo escribo en mi IDE, lo cual es molesto.

¿Hay alguna forma de rechazar este método sin definir el tipo de promesa como IUserDto | String ?

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