mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* chore(monaco): bump monaco-editor to latest version * feat(codeeditor): use esm to load monaco editor * revert(monaco): put back previous version * feat(monaco): setup MonacoEnvironment when bootstrapping app * feat(monaco): load monaco languages from registry as workers * feat(webpack): clean up warnings, remove need to copy monaco into lib * fix(plugins): wip - remove amd loader workaround in systemjs hooks * chore(azure): clean up so QueryField passes typecheck * test(jest): update config to fix failing tests due to missing monaco-editor * test(jest): update config to work with monaco-editor and kusto * test(jest): prevent message eventlistener in nodeGraph/layout.worker tripping up monaco tests * test(plugins): wip - remove amd related tests from systemjs hooks * test(alerting): prefer clearAllMocks to prevent monaco editor failing due to missing matchMedia * test(parca): fix failing test due to undefined backendSrv * chore: move monacoEnv to app/core * test: increase testing-lib timeout to 2secs, fix parca test to assert dom element * feat(plugins): share kusto via systemjs * test(e2e): increase timeout for checking monaco editor in exemplars spec * test(e2e): assert monaco has loaded by checking the spinner is gone and window.monaco exists * test(e2e): check for monaco editor textarea * test(e2e): check monaco editor is loaded before assertions * test(e2e): add waitForMonacoToLoad util to reduce duplication * test(e2e): fix failing mysql spec * chore(jest): add comment to setupTests explaining need to incresae default timeout * chore(nodegraph): improve comment in layout.worker.utils to better explain the need for file
37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
import { Config } from 'app/plugins/panel/nodeGraph/layout';
|
|
import { EdgeDatum, NodeDatum } from 'app/plugins/panel/nodeGraph/types';
|
|
|
|
const { layout } = jest.requireActual('../../app/plugins/panel/nodeGraph/layout.worker.utils.js');
|
|
|
|
class LayoutMockWorker {
|
|
timeout: number | undefined;
|
|
constructor() {}
|
|
postMessage(data: { nodes: NodeDatum[]; edges: EdgeDatum[]; config: Config }) {
|
|
const { nodes, edges, config } = data;
|
|
this.timeout = window.setTimeout(() => {
|
|
this.timeout = undefined;
|
|
layout(nodes, edges, config);
|
|
// @ts-ignore
|
|
this.onmessage({ data: { nodes, edges } });
|
|
}, 1);
|
|
}
|
|
terminate() {
|
|
if (this.timeout) {
|
|
clearTimeout(this.timeout);
|
|
}
|
|
}
|
|
}
|
|
|
|
jest.mock('../../app/plugins/panel/nodeGraph/createLayoutWorker', () => ({
|
|
createWorker: () => new LayoutMockWorker(),
|
|
}));
|
|
|
|
class BasicMockWorker {
|
|
postMessage() {}
|
|
}
|
|
const mockCreateWorker = {
|
|
createWorker: () => new BasicMockWorker(),
|
|
};
|
|
|
|
jest.mock('../../app/features/live/centrifuge/createCentrifugeServiceWorker', () => mockCreateWorker);
|