isEventsStats.spec.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import type {
  2. EventsStats,
  3. GroupedMultiSeriesEventsStats,
  4. MultiSeriesEventsStats,
  5. } from 'sentry/types/organization';
  6. import {
  7. isEventsStats,
  8. isGroupedMultiSeriesEventsStats,
  9. isMultiSeriesEventsStats,
  10. } from './isEventsStats';
  11. const singleSeries: EventsStats = {
  12. data: [],
  13. };
  14. const multiSeries: MultiSeriesEventsStats = {
  15. 'spm()': singleSeries,
  16. 'avg(span.duration)': singleSeries,
  17. };
  18. const groupedMultiSeries: GroupedMultiSeriesEventsStats = {
  19. '/issues': {...multiSeries, order: 0},
  20. };
  21. describe('isEventsStats', () => {
  22. it.each([
  23. [singleSeries, true],
  24. [multiSeries, false],
  25. [groupedMultiSeries, false],
  26. ])('marks %s as %s', (obj, expected) => {
  27. expect(isEventsStats(obj)).toBe(expected);
  28. });
  29. });
  30. describe('isMultiSeriesEventsStats', () => {
  31. it.each([
  32. [singleSeries, false],
  33. [multiSeries, true],
  34. [groupedMultiSeries, false],
  35. ])('marks %s as %s', (obj, expected) => {
  36. expect(isMultiSeriesEventsStats(obj)).toBe(expected);
  37. });
  38. });
  39. describe('isGroupedMultiSeriesEventsStats', () => {
  40. it.each([
  41. [singleSeries, false],
  42. [multiSeries, false],
  43. [groupedMultiSeries, true],
  44. ])('marks %s as %s', (obj, expected) => {
  45. expect(isGroupedMultiSeriesEventsStats(obj)).toBe(expected);
  46. });
  47. });