eventDataSection.spec.jsx 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. import {initializeOrg} from 'sentry-test/initializeOrg';
  2. import {render} from 'sentry-test/reactTestingLibrary';
  3. import EventDataSection from 'sentry/components/events/eventDataSection';
  4. import KeyValueList from 'sentry/components/events/interfaces/keyValueList';
  5. import {OrganizationContext} from 'sentry/views/organizationContext';
  6. import {RouteContext} from 'sentry/views/routeContext';
  7. const data = {
  8. metadata: {
  9. title: 'metadata title',
  10. type: 'metadata type',
  11. directive: 'metadata directive',
  12. uri: 'metadata uri',
  13. value: 'metadata value',
  14. message: 'metadata message',
  15. },
  16. culprit: 'culprit',
  17. };
  18. function TestComponent({children}) {
  19. const {organization, router} = initializeOrg();
  20. return (
  21. <OrganizationContext.Provider value={organization}>
  22. <RouteContext.Provider
  23. value={{
  24. router,
  25. location: router.location,
  26. params: {},
  27. routes: [],
  28. }}
  29. >
  30. {children}
  31. </RouteContext.Provider>
  32. </OrganizationContext.Provider>
  33. );
  34. }
  35. describe('EventDataSection', function () {
  36. const groupData = {
  37. ...data,
  38. level: 'error',
  39. id: 'id',
  40. };
  41. const eventData = {
  42. ...data,
  43. id: 'id',
  44. eventID: 'eventID',
  45. groupID: 'groupID',
  46. culprit: undefined,
  47. };
  48. it('renders formatted', function () {
  49. const wrapper = render(
  50. <TestComponent>
  51. <EventDataSection
  52. group={groupData}
  53. event={eventData}
  54. type="extra"
  55. title="Additional Data"
  56. raw={false}
  57. />
  58. </TestComponent>
  59. );
  60. expect(wrapper.container).toSnapshot();
  61. });
  62. it('renders raw', function () {
  63. const wrapper = render(
  64. <TestComponent>
  65. <EventDataSection
  66. group={groupData}
  67. event={eventData}
  68. type="extra"
  69. title="Additional Data"
  70. raw
  71. />
  72. </TestComponent>
  73. );
  74. expect(wrapper.container).toSnapshot();
  75. });
  76. });
  77. describe('KeyValueList', function () {
  78. const context = {
  79. somestuff: {andsomeotherstuff: 'here'},
  80. plussomeotherstuff: 'here',
  81. andthis: 0,
  82. };
  83. const extraDataArray = Object.entries(context).map(([key, value]) => ({
  84. key,
  85. value,
  86. subject: key,
  87. }));
  88. it('renders formatted', function () {
  89. const wrapper = render(
  90. <TestComponent>
  91. <KeyValueList data={extraDataArray} isContextData raw={false} />
  92. </TestComponent>
  93. );
  94. expect(wrapper.container).toSnapshot();
  95. });
  96. it('renders raw', function () {
  97. const wrapper = render(
  98. <TestComponent>
  99. <KeyValueList data={extraDataArray} isContextData raw />
  100. </TestComponent>
  101. );
  102. expect(wrapper.container).toSnapshot();
  103. });
  104. });