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

193
Visualizações
Javascript Jest MockImplementation: valores burlones en una función llamada

Estoy tratando de probar los métodos de mi backend (para verificar la cuota de los usuarios, como si pueden usar la aplicación) y tengo algunos problemas con uno específico. De hecho, tengo una función que llama a todos mis métodos y procede a darme los datos que quiero.

Puedo probar diferentes configuraciones con Jest usando mockImplementation en mis métodos.

Pero aquí está mi problema, una de mis funciones llama a otra función que proporciona la cuota del usuario desde mi base de datos:

 export async function getQuota(user_id) { return await Quota.find({ user_id: user_id }).exec();} //return a quota with its data (conso, user, date...) export async function checkIfQuotaIsGood(user_id, date) { let quota; let quotas = await getQuotasByUserId(user_id); //this method can sen error messages if quota received is not good or too small, too old ...

En cada prueba solía burlarme de checkIfQuotaIsGood y decir si es bueno o no:

 ... checkIfQuotaIsGood.mockImplementation(() => Promise.resolve({ conso: 0, user_id: user_id, begin: "1614553200000", end: "1617141600000", quota: 100, }) ); ... await mainFunction(req, res, next); //the function that executes all my methods, it calls checkIfQuotaIsGood which calls getQuota expect(res.status).toHaveBeenCalledWith(200); expect(res.json).toHaveBeenCalledWith({ mainFunction: true,

Mi problema es: en mi función checkIfQuotaIsGood tengo condiciones en la cuota que me envía getQuota. Quiero simular mi función getQuota y dejar que mi función principal llame a checkIfQuotaIsGood, que se ejecutará con los valores simulados. Traté de simular getQuota, pero cuando mi función principal llama a checkIfQuotaIsGood, esta función llamará a getQuota en lugar de usar los valores simulados.

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