QueryInsightsChart.utils.test.ts 1013 B

123456789101112131415161718192021222324252627282930313233
  1. import { describe, expect, it } from 'vitest'
  2. import { formatTime, isTimeMetric } from './QueryInsightsChart.utils'
  3. describe('isTimeMetric', () => {
  4. it('returns true for p50 and p95', () => {
  5. expect(isTimeMetric('p50')).toBe(true)
  6. expect(isTimeMetric('p95')).toBe(true)
  7. })
  8. it('returns false for other keys', () => {
  9. expect(isTimeMetric('calls')).toBe(false)
  10. expect(isTimeMetric('count')).toBe(false)
  11. expect(isTimeMetric('')).toBe(false)
  12. expect(isTimeMetric('P50')).toBe(false)
  13. })
  14. })
  15. describe('formatTime', () => {
  16. it('formats a timestamp into a human-readable date string', () => {
  17. const ts = new Date('2024-01-15T14:30:00Z').getTime()
  18. const result = formatTime(ts)
  19. expect(typeof result).toBe('string')
  20. expect(result.length).toBeGreaterThan(0)
  21. })
  22. it('includes the month and day', () => {
  23. const ts = new Date('2024-06-01T10:00:00Z').getTime()
  24. const result = formatTime(ts)
  25. expect(result).toMatch(/Jun/)
  26. expect(result).toMatch(/1/)
  27. })
  28. })