Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions static/app/components/metrics/equationSymbol.spec.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import {render, screen} from 'sentry-test/reactTestingLibrary';
import {textWithMarkupMatcher} from 'sentry-test/utils';

import {
EquationSymbol,
getEquationSymbol,
} from 'sentry/components/metrics/equationSymbol';

describe('getEquationSymbol', () => {
it('should return the correct symbol', () => {
expect(getEquationSymbol(0)).toBe('ƒ1');
expect(getEquationSymbol(1)).toBe('ƒ2');
});
});

describe('EquationSymbol', () => {
it('renders', () => {
render(<EquationSymbol equationId={0} />);
expect(screen.getByText(textWithMarkupMatcher('ƒ1'))).toBeInTheDocument();

render(<EquationSymbol equationId={5} />);
expect(screen.getByText(textWithMarkupMatcher('ƒ6'))).toBeInTheDocument();
});
});
33 changes: 33 additions & 0 deletions static/app/components/metrics/querySymbol.spec.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import {render, screen} from 'sentry-test/reactTestingLibrary';

import {getQuerySymbol, QuerySymbol} from 'sentry/components/metrics/querySymbol';

describe('getQuerySymbol', () => {
it('should return the correct symbol', () => {
expect(getQuerySymbol(0)).toBe('a');
expect(getQuerySymbol(1)).toBe('b');
expect(getQuerySymbol(25)).toBe('z');
expect(getQuerySymbol(26)).toBe('aa');
expect(getQuerySymbol(27)).toBe('ab');
expect(getQuerySymbol(52)).toBe('ba');
expect(getQuerySymbol(53)).toBe('bb');
expect(getQuerySymbol(77)).toBe('bz');
expect(getQuerySymbol(78)).toBe('ca');
expect(getQuerySymbol(702)).toBe('aaa');
});
});

describe('QuerySymbol', () => {
it('renders', () => {
render(<QuerySymbol queryId={0} />);
expect(screen.getByText('a')).toBeInTheDocument();

render(<QuerySymbol queryId={27} />);
expect(screen.getByText('ab')).toBeInTheDocument();
});

it('does not render for negative query ids', () => {
const {container} = render(<QuerySymbol queryId={-1} />);
expect(container).toBeEmptyDOMElement();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ import type {MenuItemProps} from 'sentry/components/dropdownMenu';
import {DropdownMenu} from 'sentry/components/dropdownMenu';
import Input, {type InputProps} from 'sentry/components/input';
import {CreateMetricAlertFeature} from 'sentry/components/metrics/createMetricAlertFeature';
import {EquationSymbol} from 'sentry/components/metrics/equationSymbol';
import {QueryBuilder} from 'sentry/components/metrics/queryBuilder';
import {getQuerySymbol, QuerySymbol} from 'sentry/components/metrics/querySymbol';
import {Tooltip} from 'sentry/components/tooltip';
import {DEFAULT_DEBOUNCE_DURATION, SLOW_TOOLTIP_DELAY} from 'sentry/constants';
import {
Expand Down Expand Up @@ -36,10 +38,8 @@ import type {
} from 'sentry/views/dashboards/metrics/types';
import {getMetricQueryName} from 'sentry/views/dashboards/metrics/utils';
import {DisplayType} from 'sentry/views/dashboards/types';
import {EquationSymbol} from 'sentry/views/metrics/equationSymbol';
import {EquationInput} from 'sentry/views/metrics/formulaInput';
import {getCreateAlert} from 'sentry/views/metrics/metricQueryContextMenu';
import {getQuerySymbol, QuerySymbol} from 'sentry/views/metrics/querySymbol';

interface Props {
addEquation: () => void;
Expand Down
2 changes: 1 addition & 1 deletion static/app/utils/metrics/dashboardImport.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import {Client} from 'sentry/api';
import {getQuerySymbol} from 'sentry/components/metrics/querySymbol';
import type {MetricMeta, MRI} from 'sentry/types/metrics';
import {convertToDashboardWidget} from 'sentry/utils/metrics/dashboard';
import type {MetricsQuery} from 'sentry/utils/metrics/types';
import {MetricDisplayType} from 'sentry/utils/metrics/types';
import type {Widget} from 'sentry/views/dashboards/types';
import {getQuerySymbol} from 'sentry/views/metrics/querySymbol';
// import types
export type ImportDashboard = {
description: string;
Expand Down
4 changes: 2 additions & 2 deletions static/app/views/dashboards/metrics/utils.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import {useMemo} from 'react';

import {getEquationSymbol} from 'sentry/components/metrics/equationSymbol';
import {getQuerySymbol} from 'sentry/components/metrics/querySymbol';
import type {MRI} from 'sentry/types/metrics';
import {unescapeMetricsFormula} from 'sentry/utils/metrics';
import {NO_QUERY_ID} from 'sentry/utils/metrics/constants';
Expand All @@ -18,8 +20,6 @@ import {
type WidgetQuery,
WidgetType,
} from 'sentry/views/dashboards/types';
import {getEquationSymbol} from 'sentry/views/metrics/equationSymbol';
import {getQuerySymbol} from 'sentry/views/metrics/querySymbol';
import {getUniqueQueryIdGenerator} from 'sentry/views/metrics/utils/uniqueQueryId';

function extendQuery(query = '', dashboardFilters?: DashboardFilters) {
Expand Down
2 changes: 1 addition & 1 deletion static/app/views/metrics/pageHeaderActions.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {Button} from 'sentry/components/button';
import ButtonBar from 'sentry/components/buttonBar';
import {DropdownMenu} from 'sentry/components/dropdownMenu';
import {CreateMetricAlertFeature} from 'sentry/components/metrics/createMetricAlertFeature';
import {QuerySymbol} from 'sentry/components/metrics/querySymbol';
import {
IconBookmark,
IconDashboard,
Expand All @@ -25,7 +26,6 @@ import useOrganization from 'sentry/utils/useOrganization';
import useRouter from 'sentry/utils/useRouter';
import {useMetricsContext} from 'sentry/views/metrics/context';
import {getCreateAlert} from 'sentry/views/metrics/metricQueryContextMenu';
import {QuerySymbol} from 'sentry/views/metrics/querySymbol';
import {useCreateDashboard} from 'sentry/views/metrics/useCreateDashboard';
import {useFormulaDependencies} from 'sentry/views/metrics/utils/useFormulaDependencies';

Expand Down
4 changes: 2 additions & 2 deletions static/app/views/metrics/queries.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import * as echarts from 'echarts/core';

import GuideAnchor from 'sentry/components/assistant/guideAnchor';
import {Button} from 'sentry/components/button';
import {EquationSymbol} from 'sentry/components/metrics/equationSymbol';
import {QueryBuilder} from 'sentry/components/metrics/queryBuilder';
import {getQuerySymbol, QuerySymbol} from 'sentry/components/metrics/querySymbol';
import SwitchButton from 'sentry/components/switchButton';
import {Tooltip} from 'sentry/components/tooltip';
import {IconAdd} from 'sentry/icons';
Expand All @@ -23,11 +25,9 @@ import useOrganization from 'sentry/utils/useOrganization';
import usePageFilters from 'sentry/utils/usePageFilters';
import {METRIC_CHART_GROUP} from 'sentry/views/metrics/constants';
import {useMetricsContext} from 'sentry/views/metrics/context';
import {EquationSymbol} from 'sentry/views/metrics/equationSymbol';
import {EquationInput} from 'sentry/views/metrics/formulaInput';
import {MetricFormulaContextMenu} from 'sentry/views/metrics/metricFormulaContextMenu';
import {MetricQueryContextMenu} from 'sentry/views/metrics/metricQueryContextMenu';
import {getQuerySymbol, QuerySymbol} from 'sentry/views/metrics/querySymbol';
import {useFormulaDependencies} from 'sentry/views/metrics/utils/useFormulaDependencies';

export function Queries() {
Expand Down
16 changes: 0 additions & 16 deletions static/app/views/metrics/querySymbol.spec.tsx

This file was deleted.

2 changes: 1 addition & 1 deletion static/app/views/metrics/utils/useFormulaDependencies.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {useCallback, useMemo} from 'react';

import {getQuerySymbol} from 'sentry/components/metrics/querySymbol';
import {unescapeMetricsFormula} from 'sentry/utils/metrics';
import {
isMetricsEquationWidget,
Expand All @@ -9,7 +10,6 @@ import {
import {useMetricsContext} from 'sentry/views/metrics/context';
import {parseFormula} from 'sentry/views/metrics/formulaParser/parser';
import {type TokenList, TokenType} from 'sentry/views/metrics/formulaParser/types';
import {getQuerySymbol} from 'sentry/views/metrics/querySymbol';

interface FormulaDependencies {
dependencies: MetricsQueryWidget[];
Expand Down
4 changes: 2 additions & 2 deletions static/app/views/metrics/utils/widgetToQuery.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {getEquationSymbol} from 'sentry/components/metrics/equationSymbol';
import {getQuerySymbol} from 'sentry/components/metrics/querySymbol';
import {isMetricsEquationWidget, type MetricsWidget} from 'sentry/utils/metrics/types';
import type {MetricsQueryApiQueryParams} from 'sentry/utils/metrics/useMetricsQuery';
import {getEquationSymbol} from 'sentry/views/metrics/equationSymbol';
import {getQuerySymbol} from 'sentry/views/metrics/querySymbol';

export function widgetToQuery(
widget: MetricsWidget,
Expand Down