fix(delivery): preserve nullable signed quantity in admin contract

This commit is contained in:
2026-10-03 23:10:44 +08:00
parent 6df6f6dabc
commit 9ec1fb549e
5 changed files with 15 additions and 5 deletions
@@ -23,6 +23,15 @@ describe('delivery order API', () => {
expect(http.get).toHaveBeenCalledWith('/platform/v1/last-leg/delivery-orders/DEL%2F1', { params: { customerId: '1001', page: 1, size: 200 } })
})
it.each([null, 0, 3])('preserves actual nullable signed quantity %s in list and detail', async signedPackages => {
const order = { deliveryNo: 'DEL-1', version: '0', packageCount: 9, signedPackages }
vi.mocked(http.get).mockResolvedValueOnce({ code: '200', data: { records: [order], page: 1, size: 20, total: 1, pages: 1 } })
const page = await listDeliveryOrders({ page: 1, size: 20 })
expect(page.records[0]?.signedPackages).toBe(signedPackages)
vi.mocked(http.get).mockResolvedValueOnce({ code: '200', data: { order, skus: [], fees: [], operations: [] } })
expect((await getDeliveryOrder('DEL-1', '1001')).order.signedPackages).toBe(signedPackages)
})
it.each(['0', '7', '9007199254740991'])('reads Java Long version %s for status editing', async version => {
vi.mocked(http.get).mockResolvedValue({ code: '200', data: { order: { version, id: '2097515131537313794' } } })
const detail = await getDeliveryOrder('DEL/1', '1001')
@@ -54,6 +54,7 @@ export interface DeliveryOrderRow {
sellerName?: string | null
palletCount: number
packageCount: number
signedPackages: number | null
totalWeightKg?: number | null
totalVolumeCbm?: number | null
plannedDeliveryAt?: string | null