diff --git a/public/app/features/dashboard/state/DashboardMigrator.test.ts b/public/app/features/dashboard/state/DashboardMigrator.test.ts index c0da0d99016..ecae1062404 100644 --- a/public/app/features/dashboard/state/DashboardMigrator.test.ts +++ b/public/app/features/dashboard/state/DashboardMigrator.test.ts @@ -139,6 +139,27 @@ describe('DashboardModel', () => { expect(graph.thresholds[1].value).toBe(400); expect(graph.thresholds[1].fillColor).toBe('red'); }); + + it('graph thresholds should be migrated onto specified thresholds', () => { + model = new DashboardModel({ + panels: [ + { + type: 'graph', + y_formats: ['kbyte', 'ms'], + grid: { + threshold1: 200, + threshold2: 400, + }, + thresholds: [{ value: 100 }], + }, + ], + }); + graph = model.panels[0]; + expect(graph.thresholds.length).toBe(3); + expect(graph.thresholds[0].value).toBe(100); + expect(graph.thresholds[1].value).toBe(200); + expect(graph.thresholds[2].value).toBe(400); + }); }); describe('when migrating to the grid layout', () => { diff --git a/public/app/features/dashboard/state/DashboardMigrator.ts b/public/app/features/dashboard/state/DashboardMigrator.ts index 9445e314582..ca8100902d2 100644 --- a/public/app/features/dashboard/state/DashboardMigrator.ts +++ b/public/app/features/dashboard/state/DashboardMigrator.ts @@ -316,7 +316,9 @@ export class DashboardMigrator { return; } - panel.thresholds = []; + if (!panel.thresholds) { + panel.thresholds = []; + } const t1: any = {}, t2: any = {};