import PropTypes from 'prop-types'; import { mergeConfig } from '@edx/frontend-platform'; import '@testing-library/jest-dom/extend-expect'; import 'babel-polyfill'; // mock methods which are not implemented in JSDOM: // https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom Object.defineProperty(window, 'matchMedia', { writable: true, value: jest.fn().mockImplementation(query => ({ matches: false, media: query, onchange: null, addListener: jest.fn(), // deprecated removeListener: jest.fn(), // deprecated addEventListener: jest.fn(), removeEventListener: jest.fn(), dispatchEvent: jest.fn(), })), }); global.MathJax = { typeset: jest.fn(callback => { if (callback) { callback(); } }), startup: { defaultPageReady: jest.fn(() => Promise.resolve()), }, }; // Provides a mock editor component that functions like tinyMCE without the overhead const MockEditor = ({ onBlur, onEditorChange, value, }) => (