initializeSdk.spec.jsx 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import {isFilteredRequestErrorEvent} from './initializeSdk';
  2. describe('isFilteredRequestErrorEvent', () => {
  3. it.each(['GET', 'POST', 'PUT', 'DELETE'])('filters 200 %s events', method => {
  4. const requestErrorEvent = {
  5. exception: {
  6. values: [{type: 'RequestError', value: `${method} /dogs/are/great/ 200`}],
  7. },
  8. };
  9. expect(isFilteredRequestErrorEvent(requestErrorEvent)).toBeTruthy();
  10. });
  11. it.each(['GET', 'POST', 'PUT', 'DELETE'])('filters 401 %s events', method => {
  12. const unauthorizedErrorEvent = {
  13. exception: {
  14. values: [{type: 'UnauthorizedError', value: `${method} /dogs/are/great/ 401`}],
  15. },
  16. };
  17. const requestErrorEvent = {
  18. exception: {
  19. values: [{type: 'RequestError', value: `${method} /dogs/are/great/ 401`}],
  20. },
  21. };
  22. expect(isFilteredRequestErrorEvent(unauthorizedErrorEvent)).toBeTruthy();
  23. expect(isFilteredRequestErrorEvent(requestErrorEvent)).toBeTruthy();
  24. });
  25. it.each(['GET', 'POST', 'PUT', 'DELETE'])('filters 403 %s events', method => {
  26. const forbiddenErrorEvent = {
  27. exception: {
  28. values: [{type: 'ForbiddenError', value: `${method} /dogs/are/great/ 403`}],
  29. },
  30. };
  31. const requestErrorEvent = {
  32. exception: {
  33. values: [{type: 'RequestError', value: `${method} /dogs/are/great/ 403`}],
  34. },
  35. };
  36. expect(isFilteredRequestErrorEvent(forbiddenErrorEvent)).toBeTruthy();
  37. expect(isFilteredRequestErrorEvent(requestErrorEvent)).toBeTruthy();
  38. });
  39. it.each(['GET', 'POST', 'PUT', 'DELETE'])('filters 404 %s events', method => {
  40. const notFoundErrorEvent = {
  41. exception: {
  42. values: [{type: 'NotFoundError', value: `${method} /dogs/are/great/ 404`}],
  43. },
  44. };
  45. const requestErrorEvent = {
  46. exception: {
  47. values: [{type: 'RequestError', value: `${method} /dogs/are/great/ 404`}],
  48. },
  49. };
  50. expect(isFilteredRequestErrorEvent(notFoundErrorEvent)).toBeTruthy();
  51. expect(isFilteredRequestErrorEvent(requestErrorEvent)).toBeTruthy();
  52. });
  53. it.each(['NotFoundError', 'ForbiddenError', 'UnauthorizedError'])(
  54. "doesn't filter other %s events",
  55. errorType => {
  56. const event = {
  57. exception: {
  58. values: [{type: errorType, value: 'Not enough treats!'}],
  59. },
  60. };
  61. expect(isFilteredRequestErrorEvent(event)).toBeFalsy();
  62. }
  63. );
  64. });