| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { SaveDashboardAsModalCtrl } from '../save_as_modal';
- import { describe, it, expect } from 'test/lib/common';
- describe('saving dashboard as', () => {
- function scenario(name, panel, verify) {
- describe(name, () => {
- const json = {
- title: 'name',
- panels: [panel],
- };
- const mockDashboardSrv = {
- getCurrent: function() {
- return {
- id: 5,
- meta: {},
- getSaveModelClone: function() {
- return json;
- },
- };
- },
- };
- const ctrl = new SaveDashboardAsModalCtrl(mockDashboardSrv);
- const ctx: any = {
- clone: ctrl.clone,
- ctrl: ctrl,
- panel: panel,
- };
- it('verify', () => {
- verify(ctx);
- });
- });
- }
- scenario('default values', {}, ctx => {
- const clone = ctx.clone;
- expect(clone.id).toBe(null);
- expect(clone.title).toBe('name Copy');
- expect(clone.editable).toBe(true);
- expect(clone.hideControls).toBe(false);
- });
- const graphPanel = {
- id: 1,
- type: 'graph',
- alert: { rule: 1 },
- thresholds: { value: 3000 },
- };
- scenario('should remove alert from graph panel', graphPanel, ctx => {
- expect(ctx.panel.alert).toBe(undefined);
- });
- scenario('should remove threshold from graph panel', graphPanel, ctx => {
- expect(ctx.panel.thresholds).toBe(undefined);
- });
- scenario('singlestat should keep threshold', { id: 1, type: 'singlestat', thresholds: { value: 3000 } }, ctx => {
- expect(ctx.panel.thresholds).not.toBe(undefined);
- });
- scenario('table should keep threshold', { id: 1, type: 'table', thresholds: { value: 3000 } }, ctx => {
- expect(ctx.panel.thresholds).not.toBe(undefined);
- });
- });
|