charts.spec.jsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import {axisLabelFormatter, tooltipFormatter} from 'sentry/utils/discover/charts';
  2. describe('tooltipFormatter()', function () {
  3. it('formats values', function () {
  4. const cases = [
  5. // function, input, expected
  6. ['count()', 0.1, '0.1'],
  7. ['avg(thing)', 0.125126, '0.125'],
  8. ['failure_rate()', 0.66123, '66.12%'],
  9. ['p50()', 100, '100.00ms'],
  10. ['p50()', 100.23, '100.23ms'],
  11. ['p50()', 1200, '1.20s'],
  12. ['p50()', 86400000, '1.00d'],
  13. ];
  14. for (const scenario of cases) {
  15. expect(tooltipFormatter(scenario[1], scenario[0])).toEqual(scenario[2]);
  16. }
  17. });
  18. });
  19. describe('axisLabelFormatter()', function () {
  20. it('formats values', function () {
  21. const cases = [
  22. // type, input, expected
  23. ['count()', 0.1, '0.1'],
  24. ['avg(thing)', 0.125126, '0.125'],
  25. ['failure_rate()', 0.66123, '66%'],
  26. ['p50()', 100, '100ms'],
  27. ['p50()', 541, '541ms'],
  28. ['p50()', 1200, '1s'],
  29. ['p50()', 60000, '1min'],
  30. ['p50()', 120000, '2min'],
  31. ['p50()', 3600000, '1hr'],
  32. ['p50()', 86400000, '1d'],
  33. ];
  34. for (const scenario of cases) {
  35. expect(axisLabelFormatter(scenario[1], scenario[0])).toEqual(scenario[2]);
  36. }
  37. });
  38. });