mirror of
https://github.com/grafana/grafana.git
synced 2025-02-14 01:23:32 -06:00
* Update dependency prettier to v2.5.1 * prettier fixes * chore(toolkit): bump prettier to 2.5.1 * style(eslint): bump grafana config to 2.5.2 in core and toolkit * style(mssql-datasource): fix no-inferrable-types eslint errors Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com> Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
151 lines
3.5 KiB
TypeScript
151 lines
3.5 KiB
TypeScript
import { PanelModel, FieldConfigSource, DataQuery } from '@grafana/data';
|
|
import { graphPanelMigrationHandler } from './GraphMigrations';
|
|
|
|
describe('Graph Panel Migrations', () => {
|
|
it('from 7.0', () => {
|
|
const panel = {
|
|
aliasColors: {},
|
|
bars: false,
|
|
dashLength: 10,
|
|
dashes: false,
|
|
fill: 1,
|
|
fillGradient: 0,
|
|
gridPos: {
|
|
h: 8,
|
|
w: 9,
|
|
x: 6,
|
|
y: 0,
|
|
},
|
|
hiddenSeries: false,
|
|
id: 23763571993,
|
|
legend: {
|
|
avg: false,
|
|
current: false,
|
|
max: false,
|
|
min: false,
|
|
show: true,
|
|
total: false,
|
|
values: false,
|
|
},
|
|
lines: true,
|
|
linewidth: 1,
|
|
nullPointMode: 'null',
|
|
options: {
|
|
dataLinks: [
|
|
{
|
|
targetBlank: false,
|
|
title: 'Drill it down',
|
|
url: 'THE DRILLDOWN URL',
|
|
},
|
|
],
|
|
},
|
|
percentage: false,
|
|
pointradius: 2,
|
|
points: false,
|
|
renderer: 'flot',
|
|
seriesOverrides: [
|
|
{
|
|
alias: 'Bar datacenter {datacenter="baz", region="us-east-2"}',
|
|
yaxis: 2,
|
|
},
|
|
],
|
|
spaceLength: 10,
|
|
stack: false,
|
|
steppedLine: false,
|
|
targets: [
|
|
{
|
|
alias: 'Foo datacenter',
|
|
labels: 'datacenter=foo,region=us-east-1',
|
|
refId: 'A',
|
|
scenarioId: 'random_walk',
|
|
},
|
|
{
|
|
alias: 'Bar datacenter',
|
|
labels: 'datacenter=bar,region=us-east-2',
|
|
refId: 'B',
|
|
scenarioId: 'random_walk',
|
|
},
|
|
{
|
|
alias: 'Bar datacenter',
|
|
labels: 'datacenter=baz,region=us-east-2',
|
|
refId: 'C',
|
|
scenarioId: 'random_walk',
|
|
},
|
|
] as unknown as DataQuery[],
|
|
thresholds: [],
|
|
timeFrom: null,
|
|
timeRegions: [],
|
|
timeShift: null,
|
|
title: 'Multiple series',
|
|
tooltip: {
|
|
shared: true,
|
|
sort: 0,
|
|
value_type: 'individual',
|
|
},
|
|
type: 'graph',
|
|
xaxis: {
|
|
buckets: null,
|
|
mode: 'time',
|
|
name: null,
|
|
show: true,
|
|
values: [],
|
|
},
|
|
yaxes: [
|
|
{
|
|
format: 'percent',
|
|
label: null,
|
|
logBase: 1,
|
|
max: null,
|
|
min: null,
|
|
show: true,
|
|
$$hashKey: 'object:122',
|
|
},
|
|
{
|
|
format: 'gflops',
|
|
label: null,
|
|
logBase: 1,
|
|
max: null,
|
|
min: null,
|
|
show: true,
|
|
$$hashKey: 'object:123',
|
|
},
|
|
],
|
|
yaxis: {
|
|
align: false,
|
|
alignLevel: null,
|
|
},
|
|
datasource: null,
|
|
} as Omit<PanelModel, 'fieldConfig'>;
|
|
|
|
const result = graphPanelMigrationHandler(panel as PanelModel);
|
|
const fieldSource = (panel as any).fieldConfig as FieldConfigSource;
|
|
|
|
expect(result.dataLinks).toBeUndefined();
|
|
expect(fieldSource.defaults.links).toHaveLength(1);
|
|
|
|
const link = fieldSource.defaults.links![0];
|
|
expect(link.url).toEqual('THE DRILLDOWN URL');
|
|
});
|
|
|
|
it('from 7.1 it should preserve existing fieldConfig', () => {
|
|
const panel = {
|
|
id: 1,
|
|
fieldConfig: {
|
|
defaults: {
|
|
links: [
|
|
{
|
|
title: 'Details',
|
|
url: '/link',
|
|
},
|
|
],
|
|
},
|
|
overrides: [],
|
|
},
|
|
} as unknown as PanelModel;
|
|
|
|
graphPanelMigrationHandler(panel as PanelModel);
|
|
const fieldConfig = (panel as any).fieldConfig as FieldConfigSource;
|
|
expect(fieldConfig.defaults.links).toHaveLength(1);
|
|
});
|
|
});
|