Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

102
Views
¿Cómo puedo simular una función de otro archivo que devuelve una promesa?

Tengo la función a continuación. No puedo probar esta función usando el marco Jest.

La función:

 exports.example = async function (data) { let utility; if (data.flag) { utility = require('./utility'); } else { utility = require(Runtime.giveFunctions()['utility'].path); } const valueFromUtility = await utility.getValue(data); . . .

De la prueba paso el objeto de datos que contiene varias propiedades, entre ellas:

  • indicador: si es cierto, necesito el archivo utility.js y luego llamo a la función getValue (datos), si es falso, obtengo la ruta del archivo de utilidad que contiene la función getValue y luego llamo a getValue (datos) función.

Si de la prueba pasa data.flag === true, la prueba está bien, de lo contrario (data.flag === false) la prueba falla y me dice "utility.getValue no es una función".

En el archivo utility.js, la función getValue devuelve una promesa, como parámetro tiene el objeto de datos que contiene las funciones simuladas que se llamarán en getValue.

La prueba que escribí es la siguiente:

 test('Test with flag === false', async () => { jest.mock('../functions/utility', () => () => false); await example(data); });

También traté de burlarme de la función getValue de la utilidad para devolver una promesa resuelta:

 test('Test with flag === false', async () => { jest.mock('../functions/utility', () => jest.fn().mockReturnValue(Promise.resolve('Some values'))); await example(data); });

Finalmente, me burlé de la siguiente manera:

 const Runtime = { giveFunctions: jest.fn().mockReturnValue({ utility: jest.fn().mockReturnValue({ path: jest.fn() }) }) }; window.Runtime = Runtime;

En el archivo de utilidad solo tengo la función getValue.

¿Como puedó resolver esté problema? gracias a todos de antemano

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!