unity.spec.tsx 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import {EventFixture} from 'sentry-fixture/event';
  2. import {render, screen} from 'sentry-test/reactTestingLibrary';
  3. import ContextCard from 'sentry/components/events/contexts/contextCard';
  4. import {getUnityContextData} from 'sentry/components/events/contexts/platformContext/unity';
  5. export const MOCK_UNITY_CONTEXT = {
  6. type: 'unity' as const,
  7. copy_texture_support: 'Basic, Copy3D, DifferentTypes, TextureToRT, RTToTexture',
  8. editor_version: '2022.1.23f1',
  9. install_mode: 'Store',
  10. rendering_threading_mode: 'LegacyJobified',
  11. target_frame_rate: '-1',
  12. // Extra data is still valid and preserved
  13. extra_data: 'something',
  14. unknown_key: 123,
  15. };
  16. export const MOCK_REDACTION = {
  17. install_mode: {
  18. '': {
  19. rem: [['organization:0', 'x']],
  20. },
  21. },
  22. };
  23. describe('UnityContext', function () {
  24. it('returns values and according to the parameters', function () {
  25. expect(getUnityContextData({data: MOCK_UNITY_CONTEXT})).toEqual([
  26. {
  27. key: 'copy_texture_support',
  28. subject: 'Copy Texture Support',
  29. value: 'Basic, Copy3D, DifferentTypes, TextureToRT, RTToTexture',
  30. },
  31. {
  32. key: 'editor_version',
  33. subject: 'Editor Version',
  34. value: '2022.1.23f1',
  35. },
  36. {key: 'install_mode', subject: 'Install Mode', value: 'Store'},
  37. {
  38. key: 'rendering_threading_mode',
  39. subject: 'Rendering Threading Mode',
  40. value: 'LegacyJobified',
  41. },
  42. {
  43. key: 'target_frame_rate',
  44. subject: 'Target Frame Rate',
  45. value: '-1',
  46. },
  47. {key: 'extra_data', subject: 'extra_data', value: 'something'},
  48. {key: 'unknown_key', subject: 'unknown_key', value: 123},
  49. ]);
  50. });
  51. it('renders with meta annotations correctly', function () {
  52. const event = EventFixture({
  53. _meta: {contexts: {unity: MOCK_REDACTION}},
  54. });
  55. render(
  56. <ContextCard
  57. event={event}
  58. type={'unity'}
  59. alias={'unity'}
  60. value={{...MOCK_UNITY_CONTEXT, install_mode: ''}}
  61. />
  62. );
  63. expect(screen.getByText('Unity')).toBeInTheDocument();
  64. expect(screen.getByText('Editor Version')).toBeInTheDocument();
  65. expect(screen.getByText('2022.1.23f1')).toBeInTheDocument();
  66. expect(screen.getByText('Install Mode')).toBeInTheDocument();
  67. expect(screen.getByText(/redacted/)).toBeInTheDocument();
  68. });
  69. });