import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary'; import EventView from 'sentry/utils/discover/eventView'; import {MutableSearch} from 'sentry/utils/tokenizeSearch'; import {ScreensTable} from 'sentry/views/insights/mobile/common/components/tables/screensTable'; function getMockEventView({fields}) { return new EventView({ id: '1', name: 'mock query', fields, sorts: [], query: '', project: [], start: '2019-10-01T00:00:00', end: '2019-10-02T00:00:00', statsPeriod: '14d', environment: [], additionalConditions: new MutableSearch(''), createdBy: undefined, interval: undefined, display: '', team: [], topEvents: undefined, yAxis: undefined, }); } describe('ScreensTable', () => { it('renders table header cells with translated names', () => { render( ); expect(screen.getByText('Screen')).toBeInTheDocument(); expect(screen.queryByText('transaction')).not.toBeInTheDocument(); }); it('renders body cells with custom renderer if applicable', () => { render( { if (column.key === 'transaction') { return `Custom rendered ${row.transaction}`; } return null; }} /> ); expect(screen.getByText('Custom rendered Screen 1')).toBeInTheDocument(); expect(screen.getByText('non customized value')).toBeInTheDocument(); }); it('renders column header tooltips', async () => { render( ); const columnHeader = screen.getByText('Screen Column'); await userEvent.hover(columnHeader); expect(await screen.findByText('Screen Column Tooltip')).toBeInTheDocument(); }); });