* feat: mathjax support issues fix: preview package removed * fix: preview issue fixed with npm pac * fix: unused plugin removed * fix: package-lock fix * fix: import fix * test: increased timeout limit for testcases * style: fix sidebar summary card heigh issue * fix: fixed npm package version * fix: fixed npm package version
62 lines
1.6 KiB
JavaScript
Executable File
62 lines
1.6 KiB
JavaScript
Executable File
import PropTypes from 'prop-types';
|
|
|
|
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(),
|
|
})),
|
|
});
|
|
|
|
// Provides a mock editor component that functions like tinyMCE without the overhead
|
|
function MockEditor({
|
|
onBlur,
|
|
onEditorChange,
|
|
}) {
|
|
return (
|
|
// eslint-disable-next-line react/jsx-filename-extension
|
|
<textarea
|
|
data-testid="tinymce-editor"
|
|
onChange={(event) => {
|
|
onEditorChange(event.currentTarget.value);
|
|
}}
|
|
onBlur={event => {
|
|
onBlur(event.currentTarget.value);
|
|
}}
|
|
/>
|
|
);
|
|
}
|
|
|
|
MockEditor.propTypes = {
|
|
onBlur: PropTypes.func.isRequired,
|
|
onEditorChange: PropTypes.func.isRequired,
|
|
};
|
|
jest.mock('@tinymce/tinymce-react', () => {
|
|
const originalModule = jest.requireActual('@tinymce/tinymce-react');
|
|
return {
|
|
__esModule: true,
|
|
...originalModule,
|
|
Editor: MockEditor,
|
|
};
|
|
});
|
|
|
|
// Mock ResizeObserver since JSDOM doesn't provider an implementation.
|
|
global.ResizeObserver = jest.fn().mockImplementation(() => ({
|
|
observe: jest.fn(),
|
|
unobserve: jest.fn(),
|
|
disconnect: jest.fn(),
|
|
}));
|
|
|
|
jest.setTimeout(30000);
|