import { getInlineChartDimension, InlinechartDimState } from '../../src/utils/managers/inline-chart-space-manager'; import { DerivedColumnOptions, ValueTextAlignmentType, ValueTextPositionType } from '../../src/public-api/interfaces'; import {ScaleLinear} from '../../src/utils/scales/src'; let columnConfig: DerivedColumnOptions = { pxWidth: 100, pxMinWidth: 80, pxMaxWidth: 150, minContent: '1111', maxContent: '111111', scale: new ScaleLinear(), derivedChartConfig: { pxBarHeight: 12, showhundredpercentbar: true, minvalue: 11, maxvalue: 11111, showvalue: true, type: 'bar', valuetextalignment: ValueTextAlignmentType.start, valuetextposition: ValueTextPositionType.top } }; describe('inline chart dimention checks', () => { let inlineChartDimState: InlinechartDimState, tmpColumnConfig = Object.assign({},columnConfig); it('bar height must be considered if provided' , (done) => { inlineChartDimState = getInlineChartDimension(tmpColumnConfig, 150, 28); expect(inlineChartDimState.dataSetDimention.height).toBe(12); done(); }); it('valueText position = top, valueTextalignment = start/middle/end' , (done) => { expect(Math.round(inlineChartDimState.dataSetDimention.top)).toBe(18); expect(Math.round(inlineChartDimState.dataSetDimention.width)).toBe(122); expect(Math.round(inlineChartDimState.labelDimention.top)).toBe(16); expect(Math.round(inlineChartDimState.labelDimention.width)).toBe(27); done(); }); it('valueText position = bottom, valueTextalignment = start/middle/end' , (done) => { tmpColumnConfig.derivedChartConfig && (tmpColumnConfig.derivedChartConfig.valuetextposition = ValueTextPositionType.bottom); inlineChartDimState = getInlineChartDimension(tmpColumnConfig, 150, 28); expect(Math.round(inlineChartDimState.dataSetDimention.top)).toBe(4); expect(Math.round(inlineChartDimState.dataSetDimention.width)).toBe(122); expect(Math.round(inlineChartDimState.labelDimention.top)).toBe(28); expect(Math.round(inlineChartDimState.labelDimention.width)).toBe(27); done(); }); it('valueText position = inside, valueTextalignment = start' , (done) => { tmpColumnConfig.derivedChartConfig && (tmpColumnConfig.derivedChartConfig.valuetextposition = ValueTextPositionType.inside); inlineChartDimState = getInlineChartDimension(tmpColumnConfig, 150, 28); expect(Math.round(inlineChartDimState.dataSetDimention.top)).toBe(4); expect(Math.round(inlineChartDimState.dataSetDimention.width)).toBe(122); expect(Math.round(inlineChartDimState.labelDimention.top)).toBe(14); expect(Math.round(inlineChartDimState.labelDimention.width)).toBe(27); done(); }); it('valueText position = left/right' , (done) => { tmpColumnConfig.derivedChartConfig && (tmpColumnConfig.derivedChartConfig.valuetextposition = ValueTextPositionType.left); inlineChartDimState = getInlineChartDimension(tmpColumnConfig, 150, 28); expect(Math.round(inlineChartDimState.dataSetDimention.top)).toBe(4); expect(Math.round(inlineChartDimState.dataSetDimention.width)).toBe(101); expect(Math.round(inlineChartDimState.labelDimention.top)).toBe(18); expect(Math.round(inlineChartDimState.labelDimention.width)).toBe(27); done(); }); });