This commit is contained in:
2026-09-20 14:22:12 +08:00
parent 1305753b71
commit 60a41af3ac
10 changed files with 414 additions and 3 deletions
@@ -11,6 +11,7 @@ import {
listPlatformUnifiedOrderFeeDetails,
updatePlatformUnifiedOrderDeclaration,
updatePlatformUnifiedOrderPlanning,
importPlatformLegacyOrders,
} from './unifiedOrders'
vi.mock('@/shared/api/http', () => ({
@@ -25,6 +26,19 @@ describe('unified orders API contract', () => {
vi.mocked(http.put).mockReset()
})
it('uploads the old-system workbook with a retry-safe key', async () => {
vi.mocked(http.post).mockResolvedValue({ data: { total: 1, succeeded: 1, failed: 0, items: [] } })
const file = new File(['xlsx'], 'legacy.xlsx', { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
await expect(importPlatformLegacyOrders(file, 'legacy-key')).resolves.toMatchObject({ succeeded: 1 })
const [path, body, config] = vi.mocked(http.post).mock.calls[0]
expect(path).toBe('/platform/v1/orders/first-leg/legacy-import')
expect(body).toBeInstanceOf(FormData)
expect((body as FormData).get('file')).toBe(file)
expect(config).toEqual({ headers: { 'Content-Type': 'multipart/form-data', 'Idempotency-Key': 'legacy-key' } })
})
it('uses the C02 platform orders endpoint and contract filters', async () => {
vi.mocked(http.get).mockResolvedValue({ data: { records: [], page: '2', size: '20', total: '0', pages: '0' } })
await expect(listPlatformUnifiedOrders({