This commit is contained in:
2026-10-21 14:30:41 +08:00
parent 0af977bdef
commit 40a03978cd
53 changed files with 1004 additions and 1291 deletions
@@ -58,20 +58,14 @@ test('eight-hour cutoff has coherent later departure delivery and driver end wit
assert.deepEqual(grayUiSchedule(now + 999), schedule)
assert.match(schedule.cutoffAt, /Z$/); assert.match(schedule.plannedDepartureAt, /Z$/)
assert.doesNotMatch(schedule.plannedDeliveryAt, /Z$/)
const body = { idempotencyKey: 'stable', recordVersion: '9007199254740993', groups: [
{ groupKey: 'A:FBA:ONT8', plannedDeliveryAt: 'old', fees: [{ amount: 30 }] },
{ groupKey: 'B:FBA:ONT8', plannedDeliveryAt: 'other', fees: [{ amount: 20 }] },
] }
const applied = applyGrayUiTransportWindow('POST', '/api/platform/v1/last-leg/dispatches/DS-1/transfer-delivery', body, schedule)
assert.deepEqual(applied.groups.map(group => group.plannedDeliveryAt), [schedule.plannedDeliveryAt, schedule.plannedDeliveryAt].map(value => new Date(value).toISOString()))
const body = { idempotencyKey: 'stable', recordVersion: '9007199254740993' }
const applied = applyGrayUiTransportWindow('PUT', '/api/platform/v1/last-leg/dispatches/DS-1', body, schedule)
assert.equal(applied.estimatedArrivalAt, new Date(schedule.plannedDeliveryAt).toISOString())
assert.equal(applied.idempotencyKey, body.idempotencyKey); assert.equal(applied.recordVersion, body.recordVersion)
assert.deepEqual(applied.groups.map(group => group.fees), body.groups.map(group => group.fees))
assert.deepEqual(applied.groups.map(group => group.groupKey), body.groups.map(group => group.groupKey))
assert.deepEqual(body.groups.map(group => group.plannedDeliveryAt), ['old', 'other'])
assert.throws(() => applyGrayUiTransportWindow('POST', '/api/platform/v1/last-leg/dispatches/DS-1/transfer-delivery',
{ idempotencyKey: 'stable', plannedDeliveryAt: 'old', fees: [{ amount: 30 }] }, schedule), /NATIVE_DELIVERY/)
assert.equal(Object.hasOwn(body, 'estimatedArrivalAt'), false)
assert.throws(() => applyGrayUiTransportWindow('POST', '/api/platform/v1/last-leg/dispatches', body, null), /NATIVE_DELIVERY/)
assert.equal(applyGrayUiTransportWindow('POST', '/api/auth/login', body, schedule), body)
assert.equal(applyGrayUiTransportWindow('GET', '/api/platform/v1/last-leg/dispatches/DS-1/transfer-delivery', body, schedule), body)
assert.equal(applyGrayUiTransportWindow('GET', '/api/platform/v1/last-leg/dispatches/DS-1', body, schedule), body)
assert.throws(() => grayUiSchedule(NaN), /CLOCK/)
})