// Setup Jest to mock fetch // import { JSDOM } from 'jsdom'; // eslint-disable-line import/no-extraneous-dependencies import fetch from 'jest-fetch-mock'; // eslint-disable-line import/no-extraneous-dependencies // import Enzyme from 'enzyme'; // eslint-disable-line import/no-extraneous-dependencies // import Adapter from 'enzyme-adapter-react-16'; // eslint-disable-line import/no-extraneous-dependencies // const jsdom = new JSDOM('<!doctype html><html><body><div id="main"></div></body></html>', { url: 'https://localhost' }); // const { window } = jsdom; jest.setTimeout(10000); // window.HTMLCanvasElement.prototype.getContext = () => {}; jest.setMock('isomorphic-unfetch', fetch); require('jest-fetch-mock').enableMocks(); // eslint-disable-line import/no-extraneous-dependencies // global.window = window; // global.navigator = { // userAgent: 'node.js', // }; // // /* eslint-disable require-jsdoc, class-methods-use-this */ // class IntersectionObserverPolyfill { // observe() { // } // // disconnect() { // } // } // /* eslint-enable require-jsdoc, class-methods-use-this */ // // global.IntersectionObserver = IntersectionObserverPolyfill; // // /** */ // function Path2D() { // } // // global.Path2D = Path2D; // /** // * copy object property descriptors from `src` to `target` // * @param {*} src // * @param {*} target // */ // const copyProps = (src, target) => { // Object.defineProperties(target, { // ...Object.getOwnPropertyDescriptors(src), // ...Object.getOwnPropertyDescriptors(target), // }); // }; // // /* // avoid 'ReferenceError: HTMLElement is not defined' // see https://github.com/airbnb/enzyme/blob/master/docs/guides/jsdom.md // for further information // */ // copyProps(window, global); // // Enzyme.configure({ adapter: new Adapter() }); // // jest.mock('react-i18next', () => ({ // // this mock makes sure any components using the translate HoC receive the t function as a prop // withTranslation: () => (Component) => { // Component.defaultProps = { // eslint-disable-line no-param-reassign // ...Component.defaultProps, t: k => k, // }; // return Component; // }, // }));