datalens-ui/jest/mocks/globals.mock.js
2026-06-24 20:31:05 +05:00

72 lines
1.6 KiB
JavaScript

// The window implementation in jest does not contain a matchMedia field.
// Official description in the documentation
// https://jestjs.io/docs/manual-mocks#mocking-methods-which-are-not-implemented-in-jsdom
/* eslint-disable */
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
HTMLCanvasElement.prototype.getContext = () => {
// return whatever getContext has to return
};
// Adding the DL object to the Window.
Object.defineProperty(window, 'DL', {
writable: true,
value: {
user: {},
requestId: '',
endpoints: {
charts: '',
},
userSettings: {},
},
});
jest.mock(`../../src/ui/utils/utils.ts`, () => {
return {
isIframe: jest.fn(),
isEnabledFeature: jest.fn(),
};
});
jest.mock(`../../src/ui/libs/schematic-sdk/index.ts`, () => {
return {
iam: {},
bi: {},
system: {},
banners: {},
};
});
jest.mock(`../../src/ui/libs/userSettings/index.ts`, () => {
return {
UserSettings: {
getInstance: () => {
return {
getSettings: () => {
return {};
},
};
},
},
};
});
jest.mock('@gravity-ui/chartkit/gravity-charts', () => {
return {
CustomShapeRenderer: {
pieCenterText: () => {},
},
};
});