Explorar el Código

singlestat: fix ignoring zero value for table data

When table data returns a column with the value 0, it should not ignore
it. This change checks for undefined instead of if the value is truthy.

Fixes #8531
Daniel Lee hace 8 años
padre
commit
f7c48c5a5f

+ 1 - 1
public/app/plugins/panel/singlestat/module.ts

@@ -165,7 +165,7 @@ class SingleStatCtrl extends MetricsPanelCtrl {
       return;
     }
 
-    if (tableData[0].length === 0 || !tableData[0][0][this.panel.tableColumn]) {
+    if (tableData[0].length === 0 || tableData[0][0][this.panel.tableColumn] === undefined) {
       return;
     }
 

+ 14 - 2
public/app/plugins/panel/singlestat/specs/singlestat_specs.ts

@@ -65,7 +65,7 @@ describe('SingleStatCtrl', function() {
       expect(ctx.data.valueRounded).to.be(0);
     });
 
-    it('should set formatted falue', function() {
+    it('should set formatted value', function() {
       expect(ctx.data.valueFormatted).to.be('test.cpu1');
     });
   });
@@ -82,7 +82,7 @@ describe('SingleStatCtrl', function() {
       expect(ctx.data.valueRounded).to.be(100);
     });
 
-    it('should set formatted falue', function() {
+    it('should set formatted value', function() {
       expect(ctx.data.valueFormatted).to.be('100');
     });
   });
@@ -254,6 +254,18 @@ describe('SingleStatCtrl', function() {
         expect(ctx.data.valueFormatted).to.be('ignore1');
       });
     });
+
+    singleStatScenario('When value is zero', function(ctx) {
+      ctx.setup(function() {
+        ctx.data = tableData;
+        ctx.data[0].rows[0] = [1492759673649, 'ignore1', 0, 'ignore2'];
+        ctx.ctrl.panel.tableColumn = 'mean';
+      });
+
+      it('Should return zero', function() {
+        expect(ctx.data.value).to.be(0);
+      });
+    });
   });
 });