2025-04-01 10:38:02 +09:00

42 lines
1.0 KiB
TypeScript

import { dateTime } from '@grafana/data';
import store from 'app/core/store';
import { addToDashboard } from './addToDashboard';
describe('addToDashboard', () => {
let spy: jest.SpyInstance;
beforeAll(() => {
spy = jest.spyOn(store, 'setObject');
});
afterEach(() => {
jest.resetAllMocks();
});
it('Should save dashboard with new panel in local storage', () => {
addToDashboard({
panel: {
type: 'table',
gridPos: { x: 0, y: 0, w: 12, h: 12 },
options: { showHeader: true },
},
});
const panel = spy.mock.calls[0][1].dashboard.panels[0];
expect(panel.type).toEqual('table');
expect(panel.options).toEqual({ showHeader: true });
});
it('Correct time range is used', () => {
addToDashboard({
panel: { type: 'table' },
timeRange: { from: dateTime(), to: dateTime(), raw: { from: 'now-5m', to: 'now' } },
});
const dashboard = spy.mock.calls[0][1].dashboard;
expect(dashboard.time.from).toEqual('now-5m');
expect(dashboard.time.to).toEqual('now');
});
});