chore: fix UTs

This commit is contained in:
amlannandy 2025-06-02 23:09:53 +07:00
parent f713040b9c
commit 3a56398a3d
2 changed files with 46 additions and 18 deletions

View File

@ -4,6 +4,7 @@ import * as useQueryBuilderOperationsHooks from 'hooks/queryBuilder/useQueryBuil
import { Provider } from 'react-redux';
import { MemoryRouter } from 'react-router-dom';
import store from 'store';
import { TagFilter } from 'types/api/queryBuilder/queryBuilderData';
import MetricsTable from '../MetricsTable';
import { MetricsListItemRowData } from '../types';
@ -29,6 +30,11 @@ const mockData: MetricsListItemRowData[] = [
},
];
const mockQueryFilters: TagFilter = {
items: [],
op: 'AND',
};
jest.mock('react-router-dom-v5-compat', () => {
const actual = jest.requireActual('react-router-dom-v5-compat');
return {
@ -76,6 +82,7 @@ describe('MetricsTable', () => {
setOrderBy={jest.fn()}
totalCount={2}
openMetricDetails={jest.fn()}
queryFilters={mockQueryFilters}
/>
</Provider>
</MemoryRouter>,
@ -99,6 +106,7 @@ describe('MetricsTable', () => {
setOrderBy={jest.fn()}
totalCount={2}
openMetricDetails={jest.fn()}
queryFilters={mockQueryFilters}
isLoading
/>
</Provider>
@ -122,6 +130,7 @@ describe('MetricsTable', () => {
setOrderBy={jest.fn()}
totalCount={2}
openMetricDetails={jest.fn()}
queryFilters={mockQueryFilters}
/>
</Provider>
</MemoryRouter>,
@ -149,6 +158,7 @@ describe('MetricsTable', () => {
setOrderBy={jest.fn()}
totalCount={2}
openMetricDetails={jest.fn()}
queryFilters={mockQueryFilters}
/>
</Provider>
</MemoryRouter>,
@ -177,6 +187,7 @@ describe('MetricsTable', () => {
setOrderBy={jest.fn()}
totalCount={2}
openMetricDetails={mockOpenMetricDetails}
queryFilters={mockQueryFilters}
/>
</Provider>
</MemoryRouter>,
@ -201,6 +212,7 @@ describe('MetricsTable', () => {
setOrderBy={mockSetOrderBy}
totalCount={2}
openMetricDetails={jest.fn()}
queryFilters={mockQueryFilters}
/>
</Provider>
</MemoryRouter>,

View File

@ -1,45 +1,61 @@
import { Color } from '@signozhq/design-tokens';
import { render } from '@testing-library/react';
import { MetricType } from 'api/metricsExplorer/getMetricsList';
import { TagFilter } from 'types/api/queryBuilder/queryBuilderData';
import { TreemapViewType } from '../types';
import {
formatDataForMetricsTable,
metricsTableColumns,
getMetricsTableColumns,
MetricTypeRenderer,
} from '../utils';
describe('metricsTableColumns', () => {
const mockQueryFilters: TagFilter = {
items: [],
op: 'AND',
};
it('should have correct column definitions', () => {
expect(metricsTableColumns).toHaveLength(6);
expect(getMetricsTableColumns(mockQueryFilters)).toHaveLength(6);
// Metric Name column
expect(metricsTableColumns[0].dataIndex).toBe('metric_name');
expect(metricsTableColumns[0].width).toBe(400);
expect(metricsTableColumns[0].sorter).toBe(false);
expect(getMetricsTableColumns(mockQueryFilters)[0].dataIndex).toBe(
'metric_name',
);
expect(getMetricsTableColumns(mockQueryFilters)[0].width).toBe(400);
expect(getMetricsTableColumns(mockQueryFilters)[0].sorter).toBe(false);
// Description column
expect(metricsTableColumns[1].dataIndex).toBe('description');
expect(metricsTableColumns[1].width).toBe(400);
expect(getMetricsTableColumns(mockQueryFilters)[1].dataIndex).toBe(
'description',
);
expect(getMetricsTableColumns(mockQueryFilters)[1].width).toBe(400);
// Type column
expect(metricsTableColumns[2].dataIndex).toBe('metric_type');
expect(metricsTableColumns[2].width).toBe(150);
expect(metricsTableColumns[2].sorter).toBe(false);
expect(getMetricsTableColumns(mockQueryFilters)[2].dataIndex).toBe(
'metric_type',
);
expect(getMetricsTableColumns(mockQueryFilters)[2].width).toBe(150);
expect(getMetricsTableColumns(mockQueryFilters)[2].sorter).toBe(false);
// Unit column
expect(metricsTableColumns[3].dataIndex).toBe('unit');
expect(metricsTableColumns[3].width).toBe(150);
expect(getMetricsTableColumns(mockQueryFilters)[3].dataIndex).toBe('unit');
expect(getMetricsTableColumns(mockQueryFilters)[3].width).toBe(150);
// Samples column
expect(metricsTableColumns[4].dataIndex).toBe(TreemapViewType.SAMPLES);
expect(metricsTableColumns[4].width).toBe(150);
expect(metricsTableColumns[4].sorter).toBe(true);
expect(getMetricsTableColumns(mockQueryFilters)[4].dataIndex).toBe(
TreemapViewType.SAMPLES,
);
expect(getMetricsTableColumns(mockQueryFilters)[4].width).toBe(150);
expect(getMetricsTableColumns(mockQueryFilters)[4].sorter).toBe(true);
// Time Series column
expect(metricsTableColumns[5].dataIndex).toBe(TreemapViewType.TIMESERIES);
expect(metricsTableColumns[5].width).toBe(150);
expect(metricsTableColumns[5].sorter).toBe(true);
expect(getMetricsTableColumns(mockQueryFilters)[5].dataIndex).toBe(
TreemapViewType.TIMESERIES,
);
expect(getMetricsTableColumns(mockQueryFilters)[5].width).toBe(150);
expect(getMetricsTableColumns(mockQueryFilters)[5].sorter).toBe(true);
});
describe('MetricTypeRenderer', () => {