12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import {getMetricsWithDuplicateNames} from 'sentry/components/metrics/mriSelect';
- import type {MetricMeta} from 'sentry/types/metrics';
- function createMetricMeta(name: string, unit: string): MetricMeta {
- return {
- mri: `d:custom/${name}@${unit}`,
- blockingStatus: [],
- operations: [],
- projectIds: [],
- type: 'd',
- unit: unit,
- };
- }
- describe('getMetricsWithDuplicateNames', () => {
- it('should return a duplicate metric', () => {
- const metrics: MetricMeta[] = [
- createMetricMeta('metric1', 'none'),
- createMetricMeta('metric1', 'seconds'),
- createMetricMeta('metric2', 'milliseconds'),
- ];
- const result = getMetricsWithDuplicateNames(metrics);
- expect(result).toEqual(
- new Set(['d:custom/metric1@none', 'd:custom/metric1@seconds'])
- );
- });
- it('should multiple duplicate metrics', () => {
- const metrics: MetricMeta[] = [
- createMetricMeta('metric1', 'none'),
- createMetricMeta('metric1', 'seconds'),
- createMetricMeta('metric2', 'none'),
- createMetricMeta('metric2', 'milliseconds'),
- createMetricMeta('metric3', 'none'),
- ];
- const result = getMetricsWithDuplicateNames(metrics);
- expect(result).toEqual(
- new Set([
- 'd:custom/metric1@none',
- 'd:custom/metric1@seconds',
- 'd:custom/metric2@none',
- 'd:custom/metric2@milliseconds',
- ])
- );
- });
- it('should return an empty set if there are no duplicates', () => {
- const metrics: MetricMeta[] = [
- createMetricMeta('metric1', 'none'),
- createMetricMeta('metric2', 'seconds'),
- createMetricMeta('metric3', 'milliseconds'),
- ];
- const result = getMetricsWithDuplicateNames(metrics);
- expect(result).toEqual(new Set());
- });
- });
|