Jelajahi Sumber

Graph: fix for bars not displaying, caused by change in recent commit, added unit test so it does not happen again

Torkel Ödegaard 11 tahun lalu
induk
melakukan
0aae78c6bd

+ 1 - 1
src/app/components/timeSeries.js

@@ -97,7 +97,7 @@ function (_, kbn) {
       result.push([currentTime * 1000, currentValue]);
     }
 
-    if (result.length > 2) {
+    if (result.length >= 2) {
       this.stats.timeStep = result[1][0] - result[0][0];
     }
 

+ 2 - 2
src/app/directives/grafanaGraph.js

@@ -184,8 +184,8 @@ function (angular, $, kbn, moment, _, GraphTooltip) {
             }
           }
 
-          if (data.length && data[0].info.timeStep) {
-            options.series.bars.barWidth = data[0].info.timeStep / 1.5;
+          if (data.length && data[0].stats.timeStep) {
+            options.series.bars.barWidth = data[0].stats.timeStep / 1.5;
           }
 
           addTimeAxis(options);

+ 14 - 0
src/test/specs/grafanaGraph-specs.js

@@ -126,6 +126,20 @@ define([
       });
     });
 
+    graphScenario('should use timeStep for barWidth', function(ctx) {
+      ctx.setup(function(scope, data) {
+        scope.panel.bars = true;
+        data[0] = new TimeSeries({
+          datapoints: [[1,10],[2,20]],
+          info: { alias: 'series1', enable: true }
+        });
+      });
+
+      it('should set barWidth', function() {
+        expect(ctx.plotOptions.series.bars.barWidth).to.be(10000/1.5);
+      });
+    });
+
     graphScenario('series option overrides, fill & points', function(ctx) {
       ctx.setup(function(scope, data) {
         scope.panel.lines = true;