Toolkit: Fix matchMedia not found error (#37643)

This commit is contained in:
Zoltán Bedi
2021-08-10 07:34:35 +02:00
committed by GitHub
parent 7d503d4331
commit 33aeee60ff
3 changed files with 15 additions and 15 deletions
@@ -50,7 +50,7 @@ export const jestConfig = (baseDir: string = process.cwd()) => {
const setupFile = getSetupFile(setupFilePath);
const shimsFile = getSetupFile(shimsFilePath);
const setupFiles = [setupFile, shimsFile, 'jest-canvas-mock'].filter((f) => f);
const setupFiles = [setupFile, shimsFile, `${__dirname}/matchMedia.js`, 'jest-canvas-mock'].filter((f) => f);
const defaultJestConfig = {
preset: 'ts-jest',
verbose: false,
@@ -0,0 +1,14 @@
// https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom
Object.defineProperty(global, '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(),
})),
});
@@ -15,20 +15,6 @@ import { DataSourceType, GRAFANA_RULES_SOURCE_NAME } from './utils/datasource';
import userEvent from '@testing-library/user-event';
import { selectOptionInTest } from '@grafana/ui';
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(),
})),
});
jest.mock('./api/alertmanager');
jest.mock('./utils/config');