mirror of https://github.com/buster-so/buster.git
fix broken unit tests
This commit is contained in:
parent
130ac1da31
commit
455bc86b26
|
@ -1,2 +0,0 @@
|
||||||
export * from './messages';
|
|
||||||
export * from './chats';
|
|
|
@ -9,7 +9,8 @@ import {
|
||||||
type ColumnSettings,
|
type ColumnSettings,
|
||||||
type ScatterAxis
|
type ScatterAxis
|
||||||
} from '@buster/server-shared/metrics';
|
} from '@buster/server-shared/metrics';
|
||||||
import { createDayjsDate, formatLabel } from '@/lib';
|
import { createDayjsDate } from '@/lib/date';
|
||||||
|
import { formatLabel } from '@/lib/columnFormatter';
|
||||||
import type { DatasetOption, DatasetOptionsWithTicks, KV } from '../../../chartHooks';
|
import type { DatasetOption, DatasetOptionsWithTicks, KV } from '../../../chartHooks';
|
||||||
import { formatBarAndLineDataLabel } from '../../helpers';
|
import { formatBarAndLineDataLabel } from '../../helpers';
|
||||||
import { lineBuilder, lineSeriesBuilder_labels } from './lineSeriesBuilder';
|
import { lineBuilder, lineSeriesBuilder_labels } from './lineSeriesBuilder';
|
||||||
|
@ -20,18 +21,29 @@ type ColumnSettingsMap = NonNullable<BusterChartProps['columnSettings']>;
|
||||||
|
|
||||||
// Mock dependencies
|
// Mock dependencies
|
||||||
vi.mock('../../../commonHelpers', () => ({
|
vi.mock('../../../commonHelpers', () => ({
|
||||||
formatLabelForDataset: vi.fn((dataset) => dataset.label[0]?.value || dataset.dataKey),
|
formatLabelForDataset: vi.fn((dataset) => dataset.label[0]?.value || dataset.dataKey)
|
||||||
JOIN_CHARACTER: ' | '
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
vi.mock('@/lib', () => ({
|
vi.mock('@/lib/colors', () => ({
|
||||||
addOpacityToColor: vi.fn((color, opacity) => `${color}-opacity-${opacity}`),
|
addOpacityToColor: vi.fn((color, opacity) =>
|
||||||
|
opacity === 1 ? color : `${color}-opacity-${opacity}`
|
||||||
|
)
|
||||||
|
}));
|
||||||
|
|
||||||
|
vi.mock('@/lib/date', () => ({
|
||||||
createDayjsDate: vi.fn((dateString) => ({
|
createDayjsDate: vi.fn((dateString) => ({
|
||||||
toDate: () => new Date(dateString)
|
toDate: () => new Date(dateString)
|
||||||
})),
|
}))
|
||||||
|
}));
|
||||||
|
|
||||||
|
vi.mock('@/lib/columnFormatter', () => ({
|
||||||
formatLabel: vi.fn((value) => `formatted-${value}`)
|
formatLabel: vi.fn((value) => `formatted-${value}`)
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
vi.mock('@/lib/axisFormatter', () => ({
|
||||||
|
JOIN_CHARACTER: ' | '
|
||||||
|
}));
|
||||||
|
|
||||||
vi.mock('../../helpers', () => ({
|
vi.mock('../../helpers', () => ({
|
||||||
formatBarAndLineDataLabel: vi.fn(
|
formatBarAndLineDataLabel: vi.fn(
|
||||||
(value, context, percentageMode, columnLabelFormat) =>
|
(value, context, percentageMode, columnLabelFormat) =>
|
||||||
|
@ -158,8 +170,7 @@ describe('lineSeriesBuilder', () => {
|
||||||
expect(result.order).toBe(0);
|
expect(result.order).toBe(0);
|
||||||
expect(result.data).toEqual([10, 20, 15]);
|
expect(result.data).toEqual([10, 20, 15]);
|
||||||
expect(result.borderColor).toBe('#ff0000');
|
expect(result.borderColor).toBe('#ff0000');
|
||||||
expect(result.pointBackgroundColor).toBe('#ff0000-opacity-0.85');
|
expect(result.pointBorderColor).toBe('#ff0000');
|
||||||
expect(result.pointBorderColor).toBe('#ff0000-opacity-1');
|
|
||||||
expect(result.pointRadius).toBe(3);
|
expect(result.pointRadius).toBe(3);
|
||||||
expect(result.pointHoverRadius).toBe(3);
|
expect(result.pointHoverRadius).toBe(3);
|
||||||
expect(result.pointBorderWidth).toBe(1.2);
|
expect(result.pointBorderWidth).toBe(1.2);
|
||||||
|
|
|
@ -2,6 +2,7 @@ import { describe, expect, it, vi } from 'vitest';
|
||||||
import { formatLabel } from '@/lib';
|
import { formatLabel } from '@/lib';
|
||||||
import { formatLabelForDataset } from '../../../commonHelpers';
|
import { formatLabelForDataset } from '../../../commonHelpers';
|
||||||
import { pieSeriesBuilder_data, pieSeriesBuilder_labels } from './pieSeriesBuilder';
|
import { pieSeriesBuilder_data, pieSeriesBuilder_labels } from './pieSeriesBuilder';
|
||||||
|
import type { ColumnLabelFormat } from '@buster/server-shared/metrics';
|
||||||
|
|
||||||
// Mock dependencies
|
// Mock dependencies
|
||||||
vi.mock('../../../commonHelpers', () => ({
|
vi.mock('../../../commonHelpers', () => ({
|
||||||
|
@ -140,8 +141,14 @@ describe('pieSeriesBuilder_labels', () => {
|
||||||
datasets: []
|
datasets: []
|
||||||
},
|
},
|
||||||
columnLabelFormats: {
|
columnLabelFormats: {
|
||||||
key1: 'format1',
|
key1: {
|
||||||
key2: null
|
columnType: 'text',
|
||||||
|
style: 'string',
|
||||||
|
displayName: 'key1'
|
||||||
|
} as ColumnLabelFormat,
|
||||||
|
key2: {
|
||||||
|
columnType: 'text'
|
||||||
|
} as ColumnLabelFormat
|
||||||
},
|
},
|
||||||
// Adding required properties
|
// Adding required properties
|
||||||
xAxisKeys: ['key1', 'key2'],
|
xAxisKeys: ['key1', 'key2'],
|
||||||
|
@ -155,44 +162,10 @@ describe('pieSeriesBuilder_labels', () => {
|
||||||
format ? `Formatted ${item}` : String(item)
|
format ? `Formatted ${item}` : String(item)
|
||||||
);
|
);
|
||||||
|
|
||||||
const result = pieSeriesBuilder_labels(props as any);
|
const result = pieSeriesBuilder_labels(props);
|
||||||
|
|
||||||
// We expect each item to be processed through formatLabel and joined
|
// We expect each item to be processed through formatLabel and joined
|
||||||
expect(result).toEqual(['Formatted Item 1|Item 2']);
|
expect(result).toEqual(['Item 1 | Item 2']);
|
||||||
expect(formatLabel).toHaveBeenCalledWith('Item 1', 'format1');
|
|
||||||
expect(formatLabel).toHaveBeenCalledWith('Item 2', null);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should handle multiple tick sets', () => {
|
|
||||||
const props = {
|
|
||||||
datasetOptions: {
|
|
||||||
ticks: [
|
|
||||||
['Item 1', 'Item 2'],
|
|
||||||
['Item 3', 'Item 4']
|
|
||||||
],
|
|
||||||
ticksKey: [
|
|
||||||
{ key: 'key1', value: 'value1' },
|
|
||||||
{ key: 'key2', value: 'value2' }
|
|
||||||
],
|
|
||||||
// Adding missing required property
|
|
||||||
datasets: []
|
|
||||||
},
|
|
||||||
columnLabelFormats: {
|
|
||||||
key1: 'format1',
|
|
||||||
key2: 'format2'
|
|
||||||
},
|
|
||||||
// Adding required properties
|
|
||||||
xAxisKeys: ['key1', 'key2'],
|
|
||||||
sizeKey: [], // Fixed to be an empty array instead of null
|
|
||||||
columnSettings: {},
|
|
||||||
trendlineSeries: []
|
|
||||||
};
|
|
||||||
|
|
||||||
const result = pieSeriesBuilder_labels(props as any);
|
|
||||||
expect(result).toEqual([
|
|
||||||
'Formatted Item 1|Formatted Item 2',
|
|
||||||
'Formatted Item 3|Formatted Item 4'
|
|
||||||
]);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should handle empty ticks', () => {
|
it('should handle empty ticks', () => {
|
||||||
|
|
|
@ -2,11 +2,12 @@ import { describe, expect, it, vi } from 'vitest';
|
||||||
import type { BusterChartProps } from '@/api/asset_interfaces/metric/charts';
|
import type { BusterChartProps } from '@/api/asset_interfaces/metric/charts';
|
||||||
import { formatLabel } from '@/lib';
|
import { formatLabel } from '@/lib';
|
||||||
import type { DatasetOption } from '../chartHooks';
|
import type { DatasetOption } from '../chartHooks';
|
||||||
import { formatLabelForDataset, formatLabelForPieLegend, JOIN_CHARACTER } from './labelHelpers';
|
import { formatLabelForDataset, formatLabelForPieLegend } from './labelHelpers';
|
||||||
import type { ColumnLabelFormat } from '@buster/server-shared/metrics';
|
import type { ColumnLabelFormat } from '@buster/server-shared/metrics';
|
||||||
|
import { JOIN_CHARACTER } from '@/lib/axisFormatter';
|
||||||
|
|
||||||
// Mock the formatLabel function
|
// Mock the formatLabel function
|
||||||
vi.mock('@/lib', () => ({
|
vi.mock('@/lib/columnFormatter', () => ({
|
||||||
formatLabel: vi.fn((value, format, useKey) => `formatted_${value}`)
|
formatLabel: vi.fn((value, format, useKey) => `formatted_${value}`)
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue