|
|
|
@ -4,6 +4,7 @@ import { UPlotConfigBuilder } from './UPlotConfigBuilder'; |
|
|
|
|
import { GrafanaTheme } from '@grafana/data'; |
|
|
|
|
import { expect } from '../../../../../../public/test/lib/common'; |
|
|
|
|
import { FillGradientMode, AxisPlacement, DrawStyle, PointVisibility, ScaleDistribution } from '../config'; |
|
|
|
|
import darkTheme from '../../../themes/dark'; |
|
|
|
|
|
|
|
|
|
describe('UPlotConfigBuilder', () => { |
|
|
|
|
describe('default config', () => { |
|
|
|
@ -34,17 +35,21 @@ describe('UPlotConfigBuilder', () => { |
|
|
|
|
`);
|
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
describe('scales config', () => { |
|
|
|
|
it('allows scales configuration', () => { |
|
|
|
|
const builder = new UPlotConfigBuilder(); |
|
|
|
|
|
|
|
|
|
builder.addScale({ |
|
|
|
|
scaleKey: 'scale-x', |
|
|
|
|
isTime: true, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
builder.addScale({ |
|
|
|
|
scaleKey: 'scale-y', |
|
|
|
|
isTime: false, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
expect(builder.getConfig()).toMatchInlineSnapshot(` |
|
|
|
|
Object { |
|
|
|
|
"axes": Array [], |
|
|
|
@ -85,10 +90,12 @@ describe('UPlotConfigBuilder', () => { |
|
|
|
|
|
|
|
|
|
it('prevents duplicate scales', () => { |
|
|
|
|
const builder = new UPlotConfigBuilder(); |
|
|
|
|
|
|
|
|
|
builder.addScale({ |
|
|
|
|
scaleKey: 'scale-x', |
|
|
|
|
isTime: true, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
builder.addScale({ |
|
|
|
|
scaleKey: 'scale-x', |
|
|
|
|
isTime: false, |
|
|
|
@ -229,6 +236,7 @@ describe('UPlotConfigBuilder', () => { |
|
|
|
|
|
|
|
|
|
it('allows axes configuration', () => { |
|
|
|
|
const builder = new UPlotConfigBuilder(); |
|
|
|
|
|
|
|
|
|
builder.addAxis({ |
|
|
|
|
scaleKey: 'scale-x', |
|
|
|
|
label: 'test label', |
|
|
|
@ -294,19 +302,22 @@ describe('UPlotConfigBuilder', () => { |
|
|
|
|
|
|
|
|
|
it('Handles auto axis placement', () => { |
|
|
|
|
const builder = new UPlotConfigBuilder(); |
|
|
|
|
|
|
|
|
|
builder.addAxis({ |
|
|
|
|
scaleKey: 'y1', |
|
|
|
|
placement: AxisPlacement.Auto, |
|
|
|
|
theme: { isDark: true, palette: { gray25: '#ffffff' } } as GrafanaTheme, |
|
|
|
|
theme: darkTheme, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
builder.addAxis({ |
|
|
|
|
scaleKey: 'y2', |
|
|
|
|
placement: AxisPlacement.Auto, |
|
|
|
|
theme: { isDark: true, palette: { gray25: '#ffffff' } } as GrafanaTheme, |
|
|
|
|
theme: darkTheme, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
expect(builder.getAxisPlacement('y1')).toBe(AxisPlacement.Left); |
|
|
|
|
expect(builder.getAxisPlacement('y2')).toBe(AxisPlacement.Right); |
|
|
|
|
expect(builder.getConfig().axes![1].grid!.show).toBe(false); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
it('When fillColor is not set fill', () => { |
|
|
|
|