grafana/public/app/features/dashboard/state/utils.test.ts
Ashley Harrison 2a6b32598d
Chore: some low-hanging type assertion fruit (#51618)
* some low-hanging type assertion fruit

* results
2022-06-30 10:40:00 +01:00

64 lines
2.3 KiB
TypeScript

import { REPEAT_DIR_HORIZONTAL } from '../../../core/constants';
import { PanelModel } from './PanelModel';
import { deleteScopeVars, isOnTheSameGridRow } from './utils';
describe('isOnTheSameGridRow', () => {
describe('when source panel is next to a panel', () => {
it('then it should return true', () => {
const sourcePanel = new PanelModel({ gridPos: { x: 0, y: 1, w: 4, h: 4 } });
const otherPanel = new PanelModel({ gridPos: { x: 4, y: 1, w: 4, h: 4 } });
expect(isOnTheSameGridRow(sourcePanel, otherPanel)).toBe(true);
});
});
describe('when source panel is not next to a panel', () => {
it('then it should return false', () => {
const sourcePanel = new PanelModel({ gridPos: { x: 0, y: 1, w: 4, h: 4 } });
const otherPanel = new PanelModel({ gridPos: { x: 4, y: 5, w: 4, h: 4 } });
expect(isOnTheSameGridRow(sourcePanel, otherPanel)).toBe(false);
});
});
describe('when source panel is repeated horizontally', () => {
it('then it should return false', () => {
const sourcePanel = new PanelModel({
gridPos: { x: 0, y: 1, w: 4, h: 4 },
repeatDirection: REPEAT_DIR_HORIZONTAL,
});
const otherPanel = new PanelModel({ gridPos: { x: 4, y: 1, w: 4, h: 4 } });
expect(isOnTheSameGridRow(sourcePanel, otherPanel)).toBe(false);
});
});
});
describe('deleteScopeVars', () => {
describe('when called with a collapsed row with panels', () => {
it('then scopedVars should be deleted on the row and all collapsed panels', () => {
const panel1 = new PanelModel({
id: 1,
type: 'row',
collapsed: true,
scopedVars: { job: { value: 'myjob', text: 'myjob' } },
panels: [
{ id: 2, type: 'graph', title: 'Graph', scopedVars: { job: { value: 'myjob', text: 'myjob' } } },
{ id: 3, type: 'graph2', title: 'Graph2', scopedVars: { job: { value: 'myjob', text: 'myjob' } } },
],
});
expect(panel1.scopedVars).toBeDefined();
expect(panel1.panels?.[0].scopedVars).toBeDefined();
expect(panel1.panels?.[1].scopedVars).toBeDefined();
deleteScopeVars([panel1]);
expect(panel1.scopedVars).toBeUndefined();
expect(panel1.panels?.[0].scopedVars).toBeUndefined();
expect(panel1.panels?.[1].scopedVars).toBeUndefined();
});
});
});