utils.spec.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import {BreadcrumbLevelType, Crumb} from 'sentry/types/breadcrumbs';
  2. import {getLogLevels} from './utils';
  3. describe('getLogLevels', () => {
  4. const CRUMB_LOG_1 = {level: BreadcrumbLevelType.LOG} as Crumb;
  5. const CRUMB_LOG_2 = {level: BreadcrumbLevelType.LOG} as Crumb;
  6. const CRUMB_WARN = {level: BreadcrumbLevelType.WARNING} as Crumb;
  7. const CRUMB_ERROR = {level: BreadcrumbLevelType.ERROR} as Crumb;
  8. it('should return a sorted list of BreadcrumbLevelType', () => {
  9. const crumbs = [CRUMB_LOG_1, CRUMB_WARN, CRUMB_ERROR];
  10. const extra = [];
  11. expect(getLogLevels(crumbs, extra)).toStrictEqual([
  12. BreadcrumbLevelType.ERROR,
  13. BreadcrumbLevelType.LOG,
  14. BreadcrumbLevelType.WARNING,
  15. ]);
  16. });
  17. it('should deduplicate BreadcrumbLevelType', () => {
  18. const crumbs = [CRUMB_LOG_1, CRUMB_LOG_2];
  19. const extra = [];
  20. expect(getLogLevels(crumbs, extra)).toStrictEqual([BreadcrumbLevelType.LOG]);
  21. });
  22. it('should inject extra BreadcrumbLevelType values', () => {
  23. const crumbs = [CRUMB_WARN, CRUMB_ERROR];
  24. const extra = [BreadcrumbLevelType.LOG];
  25. expect(getLogLevels(crumbs, extra)).toStrictEqual([
  26. BreadcrumbLevelType.ERROR,
  27. BreadcrumbLevelType.LOG,
  28. BreadcrumbLevelType.WARNING,
  29. ]);
  30. });
  31. });