widgetCardContextMenu.spec.tsx 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import {LocationFixture} from 'sentry-fixture/locationFixture';
  2. import {OrganizationFixture} from 'sentry-fixture/organization';
  3. import {PageFiltersFixture} from 'sentry-fixture/pageFilters';
  4. import {RouterFixture} from 'sentry-fixture/routerFixture';
  5. import {render, screen, userEvent} from 'sentry-test/reactTestingLibrary';
  6. import {MEPSettingProvider} from 'sentry/utils/performance/contexts/metricsEnhancedSetting';
  7. import {DisplayType, WidgetType} from 'sentry/views/dashboards/types';
  8. import {performanceScoreTooltip} from 'sentry/views/dashboards/utils';
  9. import {DashboardsMEPProvider} from 'sentry/views/dashboards/widgetCard/dashboardsMEPContext';
  10. import WidgetCardContextMenu from 'sentry/views/dashboards/widgetCard/widgetCardContextMenu';
  11. describe('WidgetCardContextMenu', () => {
  12. it('displays performance_score tooltip when widget uses performance_score', async () => {
  13. render(
  14. <MEPSettingProvider>
  15. <DashboardsMEPProvider>
  16. <WidgetCardContextMenu
  17. location={LocationFixture()}
  18. organization={OrganizationFixture({
  19. features: ['discover-basic'],
  20. })}
  21. router={RouterFixture()}
  22. selection={PageFiltersFixture()}
  23. widget={{
  24. displayType: DisplayType.AREA,
  25. interval: '',
  26. queries: [
  27. {
  28. name: '',
  29. fields: ['performance_score(measurements.score.total)'],
  30. aggregates: ['performance_score(measurements.score.total)'],
  31. conditions: '',
  32. columns: [],
  33. orderby: '',
  34. },
  35. ],
  36. title: '',
  37. datasetSource: undefined,
  38. description: undefined,
  39. id: undefined,
  40. layout: undefined,
  41. limit: undefined,
  42. tempId: undefined,
  43. thresholds: undefined,
  44. widgetType: WidgetType.TRANSACTIONS,
  45. }}
  46. widgetLimitReached={false}
  47. showContextMenu
  48. />
  49. </DashboardsMEPProvider>
  50. </MEPSettingProvider>
  51. );
  52. await userEvent.click(await screen.findByLabelText('Widget actions'));
  53. expect(screen.getByText('Open in Discover')).toBeInTheDocument();
  54. await userEvent.hover(screen.getByText('Open in Discover'));
  55. expect(await screen.findByText(performanceScoreTooltip)).toBeInTheDocument();
  56. });
  57. });