f377e07996
Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
58 lines
1.5 KiB
TypeScript
58 lines
1.5 KiB
TypeScript
import '@testing-library/jest-dom';
|
|
import 'jest-canvas-mock';
|
|
import ResizeObserver from 'resize-observer-polyfill';
|
|
import { defaultFallbackInView } from 'react-intersection-observer';
|
|
import { locales } from '@vegaprotocol/i18n';
|
|
import i18n from 'i18next';
|
|
import { initReactI18next } from 'react-i18next';
|
|
|
|
// Set up i18n instance so that components have the correct default
|
|
// en translations
|
|
i18n.use(initReactI18next).init({
|
|
// we init with resources
|
|
resources: locales,
|
|
fallbackLng: 'en',
|
|
ns: ['trading'],
|
|
defaultNS: 'trading',
|
|
});
|
|
|
|
defaultFallbackInView(true);
|
|
global.ResizeObserver = ResizeObserver;
|
|
|
|
// Required by radix-ui/react-tooltip
|
|
global.DOMRect = class DOMRect {
|
|
bottom = 0;
|
|
left = 0;
|
|
right = 0;
|
|
top = 0;
|
|
|
|
constructor(
|
|
public x = 0,
|
|
public y = 0,
|
|
public width = 0,
|
|
public height = 0
|
|
) {}
|
|
static fromRect(other?: DOMRectInit): DOMRect {
|
|
return new DOMRect(other?.x, other?.y, other?.width, other?.height);
|
|
}
|
|
toJSON() {
|
|
return JSON.stringify(this);
|
|
}
|
|
};
|
|
|
|
// Based on the official jest docs
|
|
// 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(),
|
|
})),
|
|
});
|