123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { ArrayVector, DataFrame, FieldType } from '@grafana/data';
- import { getScaledDimension, validateScaleConfig } from './scale';
- describe('scale dimensions', () => {
- it('should validate empty input', () => {
- const out = validateScaleConfig({} as any, {
- min: 5,
- max: 10,
- });
- expect(out).toMatchInlineSnapshot(`
- Object {
- "fixed": 7.5,
- "max": 10,
- "min": 5,
- }
- `);
- });
- it('should assert min<max', () => {
- const out = validateScaleConfig(
- {
- max: -3,
- min: 7,
- fixed: 100,
- },
- {
- min: 5,
- max: 10,
- }
- );
- expect(out).toMatchInlineSnapshot(`
- Object {
- "fixed": 10,
- "max": 7,
- "min": 5,
- }
- `);
- });
- it('should support negative min values', () => {
- const values = [-20, -10, -5, 0, 5, 10, 20];
- const frame: DataFrame = {
- name: 'a',
- length: values.length,
- fields: [
- { name: 'time', type: FieldType.number, values: new ArrayVector(values), config: {} },
- {
- name: 'hello',
- type: FieldType.number,
- values: new ArrayVector(values),
- config: {
- min: -10,
- max: 10,
- },
- },
- ],
- };
- const supplier = getScaledDimension(frame, {
- min: -1,
- max: 1,
- field: 'hello',
- fixed: 0,
- });
- const scaled = frame.fields[0].values.toArray().map((k, i) => supplier.get(i));
- expect(scaled).toEqual([-1, -1, -0.5, 0, 0.5, 1, 1]);
- });
- });
|