queueEta.test.ts 815 B

123456789101112131415161718192021222324252627
  1. import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
  2. import { formatETA } from '../../utils/date';
  3. import { formatQueueItemETA } from '../../utils/queueEta';
  4. describe('formatQueueItemETA', () => {
  5. beforeEach(() => {
  6. vi.useFakeTimers();
  7. vi.setSystemTime(new Date('2026-07-31T18:00:00Z'));
  8. });
  9. afterEach(() => {
  10. vi.useRealTimers();
  11. });
  12. it('calculates the ETA from the current time and job duration', () => {
  13. expect(formatQueueItemETA(90 * 60, '24h')).toBe(
  14. formatETA(90, '24h'),
  15. );
  16. });
  17. it('returns null without a usable print duration', () => {
  18. expect(formatQueueItemETA(null)).toBeNull();
  19. expect(formatQueueItemETA(undefined)).toBeNull();
  20. expect(formatQueueItemETA(0)).toBeNull();
  21. expect(formatQueueItemETA(-60)).toBeNull();
  22. });
  23. });