Ver Fonte

Add jest test file

Tobias Skarhed há 7 anos atrás
pai
commit
ae935bf08b
1 ficheiros alterados com 81 adições e 0 exclusões
  1. 81 0
      public/app/plugins/panel/graph/specs/graph_ctrl.jest.ts

+ 81 - 0
public/app/plugins/panel/graph/specs/graph_ctrl.jest.ts

@@ -0,0 +1,81 @@
+// import { describe, beforeEach, it, expect, angularMocks } from '../../../../../test/lib/common';
+
+import moment from 'moment';
+import { GraphCtrl } from '../module';
+
+describe('GraphCtrl', function() {
+  let ctx = <any>{};
+
+  beforeEach(() => {
+    ctx.ctrl = new GraphCtrl({}, {}, {});
+  });
+
+  //   beforeEach(angularMocks.module('grafana.services'));
+  //   beforeEach(angularMocks.module('grafana.controllers'));
+  //   beforeEach(
+  //     angularMocks.module(function($compileProvider) {
+  //       $compileProvider.preAssignBindingsEnabled(true);
+  //     })
+  //   );
+
+  //   beforeEach(ctx.providePhase());
+  //   beforeEach(ctx.createPanelController(GraphCtrl));
+  beforeEach(() => {
+    ctx.ctrl.annotationsPromise = Promise.resolve({});
+    ctx.ctrl.updateTimeRange();
+  });
+
+  describe('when time series are outside range', function() {
+    beforeEach(function() {
+      var data = [
+        {
+          target: 'test.cpu1',
+          datapoints: [[45, 1234567890], [60, 1234567899]],
+        },
+      ];
+
+      ctx.ctrl.range = { from: moment().valueOf(), to: moment().valueOf() };
+      ctx.ctrl.onDataReceived(data);
+    });
+
+    it('should set datapointsOutside', function() {
+      expect(ctx.ctrl.dataWarning.title).toBe('Data points outside time range');
+    });
+  });
+
+  describe('when time series are inside range', function() {
+    beforeEach(function() {
+      var range = {
+        from: moment()
+          .subtract(1, 'days')
+          .valueOf(),
+        to: moment().valueOf(),
+      };
+
+      var data = [
+        {
+          target: 'test.cpu1',
+          datapoints: [[45, range.from + 1000], [60, range.from + 10000]],
+        },
+      ];
+
+      ctx.ctrl.range = range;
+      ctx.ctrl.onDataReceived(data);
+    });
+
+    it('should set datapointsOutside', function() {
+      expect(ctx.ctrl.dataWarning).toBe(null);
+    });
+  });
+
+  describe('datapointsCount given 2 series', function() {
+    beforeEach(function() {
+      var data = [{ target: 'test.cpu1', datapoints: [] }, { target: 'test.cpu2', datapoints: [] }];
+      ctx.ctrl.onDataReceived(data);
+    });
+
+    it('should set datapointsCount warning', function() {
+      expect(ctx.ctrl.dataWarning.title).toBe('No data points');
+    });
+  });
+});