mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2024-11-22 08:46:39 -06:00
98 lines
1.8 KiB
JavaScript
98 lines
1.8 KiB
JavaScript
import '@testing-library/jest-dom';
|
|
|
|
class BroadcastChannelMock {
|
|
onmessage() {/* mock */}
|
|
postMessage(data) {
|
|
this.onmessage({ data });
|
|
}
|
|
}
|
|
|
|
global.BroadcastChannel = BroadcastChannelMock;
|
|
|
|
global.__webpack_public_path__ = '';
|
|
|
|
global.matchMedia = (query)=>({
|
|
matches: false,
|
|
media: query,
|
|
onchange: null,
|
|
addListener: jest.fn(), // deprecated
|
|
removeListener: jest.fn(), // deprecated
|
|
addEventListener: jest.fn(),
|
|
removeEventListener: jest.fn(),
|
|
dispatchEvent: jest.fn(),
|
|
});
|
|
|
|
class GeneralObserver {
|
|
observe() {return null;}
|
|
unobserve() {return null;}
|
|
disconnect() {return null;}
|
|
}
|
|
|
|
global.IntersectionObserver = GeneralObserver;
|
|
global.ResizeObserver = GeneralObserver;
|
|
|
|
import lodash from 'lodash';
|
|
global._ = lodash;
|
|
|
|
|
|
// Console error should not be called
|
|
global.beforeAll(() => {
|
|
jest.spyOn(console, 'error');
|
|
});
|
|
|
|
global.beforeEach(() => {
|
|
console.error.mockClear();
|
|
});
|
|
|
|
global.afterEach(() => {
|
|
// eslint-disable-next-line no-undef
|
|
expect(console.error).not.toHaveBeenCalled();
|
|
});
|
|
|
|
window.HTMLElement.prototype.scrollIntoView = function() {};
|
|
|
|
// required for Codemirror 6 to run in jsdom
|
|
document.createRange = () => {
|
|
const range = new Range();
|
|
|
|
range.getBoundingClientRect = jest.fn();
|
|
|
|
range.getClientRects = jest.fn(() => ({
|
|
item: () => null,
|
|
length: 0,
|
|
}));
|
|
|
|
return range;
|
|
};
|
|
|
|
// for virtual tables, height should exist.
|
|
Element.prototype.getBoundingClientRect = jest.fn(function () {
|
|
if (this.classList?.contains('pgrt')) {
|
|
return {
|
|
width: 400,
|
|
height: 400,
|
|
top: 0,
|
|
left: 0,
|
|
bottom: 0,
|
|
right: 0,
|
|
x: 0,
|
|
y: 0,
|
|
toJSON: () => {},
|
|
};
|
|
}
|
|
return {
|
|
width: 0,
|
|
height: 0,
|
|
top: 0,
|
|
left: 0,
|
|
bottom: 0,
|
|
right: 0,
|
|
x: 0,
|
|
y: 0,
|
|
toJSON: () => {},
|
|
};
|
|
});
|
|
|
|
|
|
jest.setTimeout(18000); // 1 second
|