metricsMetaStore.spec.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import MetricsMetaStore from 'sentry/stores/metricsMetaStore';
  2. describe('MetricsMetaStore', function () {
  3. beforeEach(() => {
  4. MetricsMetaStore.reset();
  5. });
  6. describe('onLoadSuccess()', () => {
  7. it('should add a new fields and trigger the new addition', () => {
  8. jest.spyOn(MetricsMetaStore, 'trigger');
  9. const {metricsMeta} = MetricsMetaStore.getState();
  10. expect(metricsMeta).toEqual({});
  11. MetricsMetaStore.onLoadSuccess([
  12. {
  13. name: 'sentry.sessions.session',
  14. type: 'counter',
  15. operations: ['sum'],
  16. },
  17. {
  18. name: 'sentry.sessions.session.error',
  19. type: 'set',
  20. operations: ['count_unique'],
  21. },
  22. ]);
  23. const {metricsMeta: updatedMetricsMeta} = MetricsMetaStore.getState();
  24. expect(updatedMetricsMeta).toEqual({
  25. 'sentry.sessions.session': {
  26. name: 'sentry.sessions.session',
  27. type: 'counter',
  28. operations: ['sum'],
  29. },
  30. 'sentry.sessions.session.error': {
  31. name: 'sentry.sessions.session.error',
  32. type: 'set',
  33. operations: ['count_unique'],
  34. },
  35. });
  36. expect(MetricsMetaStore.trigger).toHaveBeenCalledTimes(1);
  37. });
  38. });
  39. });