Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

145
Visualizações
Funciones de simulación de Javascript que devuelven legibles

Tengo una función simple que llama a mi servicio s3 que devolverá una Promesa

 downloadFile(fileName: string): Promise<Readable> { console.log( "Downloading an object with key - ", fileName ); return this.s3service.getObject(fileName); }

Me gustaría burlarme de la devolución del objeto y afirmarlo en la prueba de esta manera:

 it("should return readable if file present", async () => { const readable = new Readable(); readable.push("test"); jest .spyOn(s3service, "getObject") .mockImplementation(() => Promise.resolve(readable)); const file = await someService.downloadFile( TestConstants.reportName ); expect(file).toBe(readable); });

Cuando ejecuto la prueba, me enfrento a este error:

Error [ERR_METHOD_NOT_IMPLEMENTED]: el método _read() no está implementado en Readable. read (interno/streams/readable.js:642:9) en Readable.read (internal/streams/readable.js:481:10) en mayReadMore (internal/streams/readable.js:629:12) en processTicksAndRejections (interno /process/task_queues.js:82:21) { código: 'ERR_METHOD_NOT_IMPLEMENTED'

Quisiera ayuda sobre cómo puedo simular correctamente un legible, por ejemplo, en este ejemplo

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su código de producción simplemente reenvía la respuesta del servicio al exterior, luego simplemente getObject para devolver cualquier cosa, y espera que el resultado sea getObject result y la función de servicio habrá llamado con el parámetro correcto:

 it("should return readable if file present", async () => { const readable = "readable-object" as unknown as Readable; jest.spyOn(s3service, "getObject").mockResolvedValue(readable); const actual = await someService.downloadFile(TestConstants.reportName); expect(actual).toBe(readable); expect(s3service.getObject).toHaveBeenCalledWith(TestConstants.reportName); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda