javascript - airtable: TypeError: No se puede leer la propiedad 'bind' de undefined ejecutándose en JEST
Me encontré con un problema al ejecutar mis pruebas de Jest donde daba error al importar Airtable
TypeError: Cannot read property 'bind' of undefined
> 1 | import AirtableAPI from 'airtable'
| ^
at Object.<anonymous> (node_modules/airtable/src/fetch.ts:5:80)
at Object.<anonymous> (node_modules/airtable/src/base.ts:5:1)
at Object.<anonymous> (node_modules/airtable/src/airtable.ts:1:1)
Respuesta #1
el error fue que fetch no estaba definido en window. Mientras importaba fetch para pruebas, lo estaba haciendo en setupFilesAfterEnv, así que lo añadí a jest.config `setupFiles: ['./jestSetup.js'],
y en ese jestSetup.js
const fetch = require("node-fetch")
global.fetch = window.fetch = fetch;
global.Request = window.Request = fetch.Request;
global.Response = window.Response = fetch.Response;
