Files
grafana/public/app/features/dashboard/dashgrid/PanelLoadTimeMonitor.test.tsx
Ashley Harrison 47f8717149 React: Use new JSX transform (#88802)
* 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
2024-06-25 12:43:47 +01:00

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);
});
});