import {render, screen} from 'sentry-test/reactTestingLibrary';
import EventOrGroupTitle from 'sentry/components/eventOrGroupTitle';
import {BaseGroup, EventOrGroupType, IssueCategory} from 'sentry/types';
describe('EventOrGroupTitle', function () {
const data = {
metadata: {
type: 'metadata type',
directive: 'metadata directive',
uri: 'metadata uri',
},
culprit: 'culprit',
};
it('renders with subtitle when `type = error`', function () {
const wrapper = render(
);
expect(wrapper.container).toSnapshot();
});
it('renders with subtitle when `type = csp`', function () {
const wrapper = render(
);
expect(wrapper.container).toSnapshot();
});
it('renders with no subtitle when `type = default`', function () {
const wrapper = render(
);
expect(wrapper.container).toSnapshot();
});
it('renders with title override', function () {
const routerContext = TestStubs.routerContext([
{organization: TestStubs.Organization({features: ['custom-event-title']})},
]);
render(
,
{context: routerContext}
);
expect(screen.getByText('metadata title')).toBeInTheDocument();
});
it('does not render stack trace when issueCategory is performance', () => {
render(
);
expect(screen.queryByTestId('stacktrace-preview')).not.toBeInTheDocument();
});
describe('performance issue list', () => {
const perfData = {
title: 'Hello',
type: EventOrGroupType.TRANSACTION,
issueCategory: IssueCategory.PERFORMANCE,
metadata: {
title: 'N+1 Query',
},
culprit: 'transaction name',
} as BaseGroup;
it('should correctly render title', () => {
const routerContext = TestStubs.routerContext([
{organization: TestStubs.Organization({features: ['custom-event-title']})},
]);
render(, {context: routerContext});
expect(screen.getByText('N+1 Query')).toBeInTheDocument();
expect(screen.getByText('transaction name')).toBeInTheDocument();
});
});
});