eventEvidence.spec.tsx 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import {EventFixture} from 'sentry-fixture/event';
  2. import {GroupFixture} from 'sentry-fixture/group';
  3. import {ProjectFixture} from 'sentry-fixture/project';
  4. import {render, screen} from 'sentry-test/reactTestingLibrary';
  5. import {EventEvidence} from 'sentry/components/events/eventEvidence';
  6. describe('EventEvidence', () => {
  7. const event = EventFixture({
  8. occurrence: {
  9. evidenceData: {},
  10. evidenceDisplay: [
  11. {
  12. name: 'Transaction',
  13. value: '/api/0/transaction-test-endpoint/',
  14. important: false,
  15. },
  16. ],
  17. fingerprint: [],
  18. id: '',
  19. issueTitle: '',
  20. resourceId: '',
  21. subtitle: '',
  22. detectionTime: '',
  23. eventId: '',
  24. },
  25. });
  26. const defaultProps = {
  27. event,
  28. group: GroupFixture(),
  29. project: ProjectFixture({slug: 'project-slug'}),
  30. };
  31. it('renders nothing when evidence display is empty', () => {
  32. const {container} = render(
  33. <EventEvidence
  34. {...defaultProps}
  35. event={EventFixture({occurrence: {evidenceDisplay: []}})}
  36. />
  37. );
  38. expect(container).toBeEmptyDOMElement();
  39. });
  40. it('renders evidenceDisplay data in a key/value table', () => {
  41. render(<EventEvidence {...defaultProps} />);
  42. expect(screen.getByRole('cell', {name: 'Transaction'})).toBeInTheDocument();
  43. expect(
  44. screen.getByRole('cell', {
  45. name: '/api/0/transaction-test-endpoint/',
  46. })
  47. ).toBeInTheDocument();
  48. });
  49. });