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

170
Views
Función simulada de broma que se exporta y se usa en el mismo módulo

hola hola

Tengo un módulo que exporta dos funciones.

 // foo.js export const apiClient = axios.create({ baseURL: "www.randomapi.com", }); export const search = async (q: string) => { return apiClient.get("/search.json", {params: { q }); }

Y luego otro que importa buscar

 // bar.js import { search } from "foo" export const searchByQuery = async (q: string) => { // some process with the Q return (await search(q)).data }

Entonces, lo que necesito hacer es burlarme de ese apiClient.get en el uso de búsqueda

 //test.js import { searchByQuery } from "bar" jest.mock("./foo.js", () => ({ ...jest.requireActual("./foo.js"), ApiClient: { get: async () => ({ data: { results: [ { "name": "John", "age": 20 }, ], }, }), }, })); test('It should mock', async () => { const result = await searchByQuery("John"); expect(result[0].name).toBe("John"); })

El resultado es que apiClient no se está burlando y está haciendo la llamada API real a la URL.

Otra forma de hacerlo sería burlarse de la función de search . Eso es algo que ya hice y fue exitoso pero no es lo que estoy buscando porque quiero probar los errores de randomapi.com

Hice otra prueba usando el mismo simulacro donde se llama apiClient.get desde bar.js y está funcionando.

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!