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

267
Visualizações
Burlándose de html-pdf usando Jest

Estoy usando el paquete html-pdf en mi código nodejs (no en Typescript). Ahora, este paquete tiene una función create() que está encadenada con la función toBuffer() . Estoy probando mi código usando Jest y quiero simular esta llamada pdf.create(html).toBuffer() .

 var pdf = require('html-pdf'); pdf.create(html).toBuffer(function(htmlToPdfError, buffer){ if (htmlToPdfError) { reject(htmlToPdfError); } resolve(buffer.toString('base64')); });

EDITAR: estoy tratando de usar el siguiente código en mi archivo de especificaciones para hacer el módulo:

 jest.mock('html-pdf', () => ({ create: jest.fn(() => { return Promise.resolve(); }) }));

Esto me está ayudando a simular la función create() pero no sé cómo devolver un objeto en Promise.resolve que tendría una función toBuffer

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

0

¿esto funcionara?

y luego afirmar que su búfer "pdf" contiene "cadena de prueba"?

 jest.mock('html-pdf', () => ({ create: jest.fn(() => { return Promise.resolve({ toBuffer: function(callback) { callback(null, Buffer.from("test string", "utf-8")); }, }); }) }));

(no lo he probado)

about 4 years ago · Juan Pablo Isaza Relatório

0

Podría burlarme de él usando el siguiente código:

 const mockToBuffer = { toBuffer: jest.fn((callback: Function) => callback(null, null)), } jest.mock('html-pdf', () => ({ create: jest.fn(() => mockToBuffer), })) it('Should work', async () => { const expectedResult = Buffer.from([10]) mockToBuffer.toBuffer.mockImplementation((callback: Function) => { callback(null, expectedResult) }) // const result = await yourFuncUsingHtmlPdf(/* fakePayload */) // Comparing the buffer using the native function // expect(expectedResult.equals(result)).toBe(true) }
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