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

147
Visualizações
Cómo sobrescribir 1 función en un simulacro automático en Jest

Estoy haciendo la transición del proyecto de Javascript a Typescript. Tengo un archivo de ayuda con javascript pero el archivo está mecanografiado (debido a la transición en curso). Tengo un archivo helper.ts como tal (este archivo tiene una longitud de 1000, por lo que no es tan fácil convertir este archivo a mecanografiado desafortunadamente)

 // helper.ts module.exports = function () { this.validateJwt = function(token) { if (token.valid) { return 200 } else { return 400 } } this.someOtherFunction = function () { .... /// and many more such dirty code there }

Mi problema es que quiero simular esta función en la prueba, así que no hay problema, he creado una carpeta de simulacros y simplemente hago una simulación automática de esto en mi prueba de esta manera:

 //__mocks__/helper.ts module.exports = function () { this.validateJwt = function(token) { return 200; } }

Mi clase de cliente:

 //client.ts import helper from "../../helper" module.exports.create = (event) => { let helper = new helper(); if (helper.validateJwt(event.token) { return true } else { return false } }

Y mi prueba:

 // test.ts import * as helper from ('../../helper'); jest.mock('../../helper'); var client = require("../../client"); describe('client', () => { it('return true if token is valid', () => { let event = {"token": "exists"} expect(client.create(event)).toBe(true); }); it('return false if no token', () => { let event = {} (<any>helper).validateJwt.mockImplementationOnce(() => {return 400} // not working expect(client.create(event)).toBe(false); // this still returns true }); });

Cómo hacer que mi simulacro anule el simulacro automático y agregue esto a la prueba nr 2 para que validarJwt devuelva falso. Estoy usando archivos ts pero con javascript real en ellos. Probé con esto:

 import * as helper from "../../helper"; jest.mock("../../helper"); const mockedHelper = helper as jest.Mocked<typeof helper>;

y en la segunda prueba utilícelo: mockedHelper.validateJwt.mockImplementationOnce(() => {return 400});

pero no funciona (supongo que porque tengo una función en javascript, no mecanografiada).

¿Alguna idea de cómo solucionarlo (y por ahora reescribir esta función en el asistente para la clase mecanografiada no es una opción)?

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