eventMissingBanner.spec.tsx 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import {OrganizationFixture} from 'sentry-fixture/organization';
  2. import {RouterFixture} from 'sentry-fixture/routerFixture';
  3. import {render, screen} from 'sentry-test/reactTestingLibrary';
  4. import {EventMissingBanner} from 'sentry/views/issueDetails/streamline/eventMissingBanner';
  5. describe('EventMissingBanner', () => {
  6. it('renders elements for known event IDs', () => {
  7. const organization = OrganizationFixture();
  8. const router = RouterFixture({params: {groupId: 'group-1', eventId: 'recommended'}});
  9. render(<EventMissingBanner />, {organization, router});
  10. // Header
  11. expect(screen.getByText(/We couldn't track down an event/)).toBeInTheDocument();
  12. // Body
  13. expect(screen.getByText(/here are some things to try/)).toBeInTheDocument();
  14. expect(screen.getByText(/Change up your filters./)).toBeInTheDocument();
  15. expect(screen.getByRole('link', {name: 'Clear event filters'})).toBeInTheDocument();
  16. // Image
  17. expect(screen.getByAltText('Compass illustration')).toBeInTheDocument();
  18. });
  19. it('renders elements for specific event IDs', () => {
  20. const organization = OrganizationFixture();
  21. const router = RouterFixture({params: {groupId: 'group-1', eventId: 'abc123'}});
  22. render(<EventMissingBanner />, {organization, router});
  23. // Header
  24. expect(screen.getByText(/We couldn't track down that event/)).toBeInTheDocument();
  25. expect(screen.getByText(/(abc123)/)).toBeInTheDocument();
  26. // Body
  27. expect(screen.getByText(/here are some things to try/)).toBeInTheDocument();
  28. expect(screen.getByText(/Double check the event ID./)).toBeInTheDocument();
  29. expect(
  30. screen.getByRole('link', {name: 'View recommended event'})
  31. ).toBeInTheDocument();
  32. // Image
  33. expect(screen.getByAltText('Compass illustration')).toBeInTheDocument();
  34. });
  35. });