test(phase3): provision dispatch and handoff evidence
This commit is contained in:
@@ -17,6 +17,21 @@ async function post(context, path, body, operation) {
|
||||
return context.request('POST', path, body, context.token, { 'Idempotency-Key': key(context, operation) })
|
||||
}
|
||||
|
||||
async function uploadBillOfLading(context, appointmentId, index) {
|
||||
const path = `${TRUCK_BASE}/${appointmentId}/attachments/upload?attachmentType=BILL_OF_LADING`
|
||||
const form = new FormData()
|
||||
const png = Uint8Array.from([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,6,0,0,0,31,21,196,137,0,0,0,13,73,68,65,84,8,215,99,248,207,192,240,31,0,5,0,1,255,137,153,61,29,0,0,0,0,73,69,78,68,174,66,96,130])
|
||||
form.append('file', new Blob([png], { type: 'image/png' }), `${context.marker}-truck-${index}.png`)
|
||||
const response = await fetch(`${context.options.gateway}${path}`, {
|
||||
method: 'POST', headers: { Accept: 'application/json', Authorization: `Bearer ${context.token}` },
|
||||
body: form, signal: AbortSignal.timeout(60_000),
|
||||
})
|
||||
const body = await response.json()
|
||||
return { method: 'POST', path, http: response.status, body,
|
||||
requestId: body?.requestId || response.headers.get('x-request-id'),
|
||||
traceId: body?.traceId || response.headers.get('x-trace-id') }
|
||||
}
|
||||
|
||||
function oceanPayload(context, template, index) {
|
||||
const source = template.oceanBooking
|
||||
return { expectedVersion: 0, data: {
|
||||
@@ -93,6 +108,9 @@ async function createTruck(context, oceanBooking, index) {
|
||||
const response = await context.request('POST', TRUCK_BASE, truckPayload(context, oceanBooking, carrier, index))
|
||||
const value = context.apiSuccess(MODULE, `创建拖车状态样本 ${index}`, response, '', OPTIONS)
|
||||
if (!value?.id) throw new Error(`创建拖车样本 ${index} 失败`)
|
||||
const billUpload = await uploadBillOfLading(context, id(value.id), index)
|
||||
const billAttachment = context.apiSuccess(MODULE, `拖车状态样本 ${index} 上传提单附件`, billUpload, '', OPTIONS)
|
||||
if (!billAttachment?.id) throw new Error(`拖车样本 ${index} 未上传有效提单附件`)
|
||||
return value
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user