mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-28 10:10:57 +00:00
enhance user management and booking features with permissions and real-time updates
This commit is contained in:
@@ -302,3 +302,41 @@ describe('batch-window board windows (config-driven booking cycles)', () => {
|
||||
expect(withEarly?.window?.label).toContain('08:00');
|
||||
});
|
||||
});
|
||||
|
||||
// Regression: a schedule created INSIDE its own window day must open right away
|
||||
// when the desk is open, and re-deriving after a settings change (close hour
|
||||
// extended past "now", or lead pulled so the window day becomes today) must
|
||||
// yield an immediate open — not tomorrow morning.
|
||||
describe('computeImportWindowTimes — immediate open inside the window day', () => {
|
||||
// 19:15:17 EAT on Mon 6 Jul = 16:15:17 UTC
|
||||
const now = new Date('2026-07-06T16:15:17.000Z');
|
||||
// Departs Thu 9 Jul ~08:53 EAT
|
||||
const departure = new Date('2026-07-09T05:53:00.000Z');
|
||||
const base = { importWindowLeadDays: 3, windowOpenHour: 8, windowDurationHours: 0.05 };
|
||||
|
||||
it('desk 8–23, created 19:15 on the window day → opens NOW', () => {
|
||||
const t = computeImportWindowTimes(departure, { ...base, windowCloseHour: 23 }, now);
|
||||
expect(t.windowOpensAt.getTime()).toBe(now.getTime());
|
||||
});
|
||||
|
||||
it('desk 8–17, created 19:15 (desk shut) → opens next morning 08:00 EAT', () => {
|
||||
const t = computeImportWindowTimes(departure, { ...base, windowCloseHour: 17 }, now);
|
||||
expect(t.windowOpensAt.toISOString()).toBe('2026-07-07T05:00:00.000Z');
|
||||
});
|
||||
|
||||
it('close hour extended 17 → 23 after hours: re-derive opens NOW', () => {
|
||||
// Same call restampPendingWindows makes after the global-rules edit.
|
||||
const t = computeImportWindowTimes(departure, { ...base, windowCloseHour: 23 }, now);
|
||||
expect(t.windowOpensAt.getTime()).toBe(now.getTime());
|
||||
});
|
||||
|
||||
it('lead 3 → 4 pulls the window day to today: re-derive opens NOW', () => {
|
||||
const departsJul10 = new Date('2026-07-10T05:53:00.000Z');
|
||||
const t = computeImportWindowTimes(
|
||||
departsJul10,
|
||||
{ ...base, importWindowLeadDays: 4, windowCloseHour: 23 },
|
||||
now,
|
||||
);
|
||||
expect(t.windowOpensAt.getTime()).toBe(now.getTime());
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user