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

View File

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