import { describe, expect, it } from 'vitest' import { projectWarehouseArrival } from './warehouseArrival' describe('shared warehouse arrival projection', () => { it.each([ ['2026-10-21T15:49:00', '2026-10-23'], ['2026-10-30T23:30:00-07:00', '2026-11-01'], ['2026-12-31T23:30:00', '2027-01-02'], ['2026-03-07T23:30:00-08:00', '2026-03-09'], ])('adds two local calendar days to %s without manufacturing a time', (arrivalAt, date) => { expect(projectWarehouseArrival(arrivalAt, { plannedAt: null, version: 0, planCount: 0 })).toEqual({ date, time: '', isDefault: true }) }) it('keeps manually maintained and frozen dates instead of following port arrival', () => { for (const plan of [{ plannedAt: '2026-10-28T09:30:00', version: 1, planCount: 0 }, { plannedAt: '2026-10-28T09:30:00', version: 0, planCount: 1 }]) { expect(projectWarehouseArrival('2026-10-21T15:49:00', plan)).toEqual({ date: '2026-10-28', time: '09:30', isDefault: false }) } }) it('does not replace inconsistent or frozen missing dates with defaults', () => { for (const plan of [{ plannedAt: null, version: -1, planCount: 0 }, { plannedAt: null, version: 0, planCount: 1 }, { plannedAt: null, version: 1, planCount: 0 }]) { expect(projectWarehouseArrival('2026-10-21T15:49:00', plan).date).toBeNull() } for (const arrival of [null, '', 'invalid', '2026-02-30T09:00:00']) expect(projectWarehouseArrival(arrival, undefined).date).toBeNull() }) })