import { describe, it, expect } from 'vitest'; import { toWorkSession } from '../src/lib/work-session'; import type { workSessions } from '../src/db/schema'; type WorkSessionRow = typeof workSessions.$inferSelect; function baseRow(overrides: Partial = {}): WorkSessionRow { return { id: 1, userId: 'user-1', activityId: 1, insoleType: 'Kurk', pairCount: 2, startTime: new Date('2026-06-17T08:00:00.000Z'), endTime: null, durationSeconds: null, pausedSeconds: 0, pausedAt: null, status: 'active', source: 'app', notes: null, createdAt: new Date('2026-06-17T08:00:00.000Z'), ...overrides, }; } describe('toWorkSession paused fields', () => { it('maps pausedSeconds and a null pausedAt', () => { const result = toWorkSession(baseRow({ pausedSeconds: 120, pausedAt: null })); expect(result.paused_seconds).toBe(120); expect(result.paused_at).toBeNull(); }); it('maps a pausedAt Date to its ISO string', () => { const pausedAt = new Date('2026-06-17T08:05:00.000Z'); const result = toWorkSession(baseRow({ pausedSeconds: 0, pausedAt })); expect(result.paused_at).toBe(pausedAt.toISOString()); }); });