mirror of
https://github.com/grafana/grafana.git
synced 2025-08-01 04:51:49 +08:00

* update eslint, tsconfig + esbuild to handle new jsx transform * remove thing that breaks the new jsx transform * remove react imports * adjust grafana-icons build * is this the correct syntax? * try this * well this was much easier than expected... * change grafana-plugin-configs webpack config * fixes * fix lockfile * fix 2 more violations * use path.resolve instead of require.resolve * remove react import * fix react imports * more fixes * remove React import * remove import React from docs * remove another react import
49 lines
959 B
TypeScript
49 lines
959 B
TypeScript
import { render } from '@testing-library/react';
|
|
|
|
const mockPushMeasurement = jest.fn();
|
|
|
|
import { PanelLoadTimeMonitor } from './PanelLoadTimeMonitor';
|
|
|
|
jest.mock('app/core/config', () => ({
|
|
config: {
|
|
grafanaJavascriptAgent: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
}));
|
|
|
|
jest.mock('@grafana/faro-web-sdk', () => ({
|
|
faro: {
|
|
api: {
|
|
pushMeasurement: mockPushMeasurement,
|
|
},
|
|
},
|
|
}));
|
|
|
|
describe('PanelLoadTimeMonitor', () => {
|
|
beforeEach(() => {
|
|
jest.clearAllMocks();
|
|
});
|
|
it('logs load time measurement on render', () => {
|
|
jest.useFakeTimers();
|
|
|
|
const props = {
|
|
isInPanelEdit: true,
|
|
panelType: 'timeseries',
|
|
panelId: 1,
|
|
panelTitle: 'Panel Title',
|
|
panelOptions: {},
|
|
panelFieldConfig: {
|
|
defaults: {},
|
|
overrides: [],
|
|
},
|
|
};
|
|
|
|
render(<PanelLoadTimeMonitor {...props} />);
|
|
|
|
jest.runAllTimers();
|
|
|
|
expect(mockPushMeasurement).toHaveBeenCalledTimes(1);
|
|
});
|
|
});
|