Commit 1210fca8 by bergquist

fix(singlestat): fix bug in threshold calculations

parent 6c4791b4
...@@ -221,7 +221,7 @@ function singleStatPanel($location, linkSrv, $timeout, templateSrv) { ...@@ -221,7 +221,7 @@ function singleStatPanel($location, linkSrv, $timeout, templateSrv) {
function getColorForValue(data, value) { function getColorForValue(data, value) {
for (var i = data.thresholds.length; i > 0; i--) { for (var i = data.thresholds.length; i > 0; i--) {
if (value >= data.thresholds[i]) { if (value >= data.thresholds[i-1]) {
return data.colorMap[i]; return data.colorMap[i];
} }
} }
......
...@@ -2,12 +2,12 @@ import {describe, beforeEach, it, sinon, expect} from 'test/lib/common'; ...@@ -2,12 +2,12 @@ import {describe, beforeEach, it, sinon, expect} from 'test/lib/common';
import {getColorForValue} from '../module'; import {getColorForValue} from '../module';
describe('grafanaSingleStat', function() { describe.only('grafanaSingleStat', function() {
describe('legacy thresholds', () => { describe('legacy thresholds', () => {
describe('positive thresholds', () => { describe('positive thresholds', () => {
var data: any = { var data: any = {
colorMap: ['green', 'yellow', 'red'], colorMap: ['green', 'yellow', 'red'],
thresholds: [0, 20, 50] thresholds: [20, 50]
}; };
it('5 should return green', () => { it('5 should return green', () => {
...@@ -29,7 +29,7 @@ describe('grafanaSingleStat', function() { ...@@ -29,7 +29,7 @@ describe('grafanaSingleStat', function() {
describe('negative thresholds', () => { describe('negative thresholds', () => {
var data: any = { var data: any = {
colorMap: ['green', 'yellow', 'red'], colorMap: ['green', 'yellow', 'red'],
thresholds: [ -20, 0, 20] thresholds: [ 0, 20]
}; };
it('-30 should return green', () => { it('-30 should return green', () => {
...@@ -48,7 +48,7 @@ describe('grafanaSingleStat', function() { ...@@ -48,7 +48,7 @@ describe('grafanaSingleStat', function() {
describe('negative thresholds', () => { describe('negative thresholds', () => {
var data: any = { var data: any = {
colorMap: ['green', 'yellow', 'red'], colorMap: ['green', 'yellow', 'red'],
thresholds: [ -40, -27, 20] thresholds: [-27, 20]
}; };
it('-30 should return green', () => { it('-30 should return green', () => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment