123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- 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(
- <EventOrGroupTitle
- data={
- {
- ...data,
- ...{
- type: EventOrGroupType.ERROR,
- },
- } as BaseGroup
- }
- />
- );
- expect(wrapper.container).toSnapshot();
- });
- it('renders with subtitle when `type = csp`', function () {
- const wrapper = render(
- <EventOrGroupTitle
- data={
- {
- ...data,
- ...{
- type: EventOrGroupType.CSP,
- },
- } as BaseGroup
- }
- />
- );
- expect(wrapper.container).toSnapshot();
- });
- it('renders with no subtitle when `type = default`', function () {
- const wrapper = render(
- <EventOrGroupTitle
- data={
- {
- ...data,
- type: EventOrGroupType.DEFAULT,
- metadata: {
- ...data.metadata,
- title: 'metadata title',
- },
- } as BaseGroup
- }
- />
- );
- expect(wrapper.container).toSnapshot();
- });
- it('renders with title override', function () {
- const routerContext = TestStubs.routerContext([
- {organization: TestStubs.Organization()},
- ]);
- render(
- <EventOrGroupTitle
- data={
- {
- ...data,
- type: EventOrGroupType.ERROR,
- metadata: {
- ...data.metadata,
- title: 'metadata title',
- },
- } as BaseGroup
- }
- />,
- {context: routerContext}
- );
- expect(screen.getByText('metadata title')).toBeInTheDocument();
- });
- it('does not render stack trace when issueCategory is performance', () => {
- render(
- <EventOrGroupTitle
- data={
- {
- ...data,
- issueCategory: IssueCategory.PERFORMANCE,
- } as BaseGroup
- }
- withStackTracePreview
- />
- );
- expect(screen.queryByTestId('stacktrace-preview')).not.toBeInTheDocument();
- });
- it('does not render stacktrace preview when data is a tombstone', () => {
- render(
- <EventOrGroupTitle
- data={{
- id: '123',
- level: 'error',
- message: 'numTabItems is not defined ReferenceError something',
- culprit:
- 'useOverflowTabs(webpack-internal:///./app/components/tabs/tabList.tsx)',
- type: EventOrGroupType.ERROR,
- metadata: {
- value: 'numTabItems is not defined',
- type: 'ReferenceError',
- filename: 'webpack-internal:///./app/components/tabs/tabList.tsx',
- function: 'useOverflowTabs',
- display_title_with_tree_label: false,
- },
- actor: TestStubs.User(),
- isTombstone: true,
- }}
- withStackTracePreview
- />
- );
- expect(screen.queryByTestId('stacktrace-preview')).not.toBeInTheDocument();
- expect(screen.getByText('ReferenceError')).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()},
- ]);
- render(<EventOrGroupTitle data={perfData} />, {context: routerContext});
- expect(screen.getByText('N+1 Query')).toBeInTheDocument();
- expect(screen.getByText('transaction name')).toBeInTheDocument();
- });
- });
- });
|