mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* Chore: Bumps prettier version for new typescript syntax support * Ran new version of prettier against the codebase
76 lines
1.7 KiB
TypeScript
76 lines
1.7 KiB
TypeScript
import { convertValuesToHistogram, getSeriesValues } from '../histogram';
|
|
|
|
describe('Graph Histogam Converter', () => {
|
|
describe('Values to histogram converter', () => {
|
|
let values: any;
|
|
let bucketSize = 10;
|
|
|
|
beforeEach(() => {
|
|
values = [1, 2, 10, 11, 17, 20, 29];
|
|
});
|
|
|
|
it('Should convert to series-like array', () => {
|
|
bucketSize = 10;
|
|
const expected = [
|
|
[0, 2],
|
|
[10, 3],
|
|
[20, 2],
|
|
];
|
|
|
|
const histogram = convertValuesToHistogram(values, bucketSize, 1, 29);
|
|
expect(histogram).toMatchObject(expected);
|
|
});
|
|
|
|
it('Should not add empty buckets', () => {
|
|
bucketSize = 5;
|
|
const expected = [
|
|
[0, 2],
|
|
[5, 0],
|
|
[10, 2],
|
|
[15, 1],
|
|
[20, 1],
|
|
[25, 1],
|
|
];
|
|
|
|
const histogram = convertValuesToHistogram(values, bucketSize, 1, 29);
|
|
expect(histogram).toMatchObject(expected);
|
|
});
|
|
});
|
|
|
|
describe('Series to values converter', () => {
|
|
let data: any;
|
|
|
|
beforeEach(() => {
|
|
data = [
|
|
{
|
|
datapoints: [
|
|
[1, 0],
|
|
[2, 0],
|
|
[10, 0],
|
|
[11, 0],
|
|
[17, 0],
|
|
[20, 0],
|
|
[29, 0],
|
|
],
|
|
},
|
|
];
|
|
});
|
|
|
|
it('Should convert to values array', () => {
|
|
const expected = [1, 2, 10, 11, 17, 20, 29];
|
|
|
|
const values = getSeriesValues(data);
|
|
expect(values).toMatchObject(expected);
|
|
});
|
|
|
|
it('Should skip null values', () => {
|
|
data[0].datapoints.push([null, 0]);
|
|
|
|
const expected = [1, 2, 10, 11, 17, 20, 29];
|
|
|
|
const values = getSeriesValues(data);
|
|
expect(values).toMatchObject(expected);
|
|
});
|
|
});
|
|
});
|