This commit is contained in:
2026-10-27 17:44:41 +08:00
parent 57cd211973
commit db0e72daeb
37 changed files with 701 additions and 671 deletions
@@ -60,12 +60,8 @@ function harness(fault) {
return response({ id: p.split('/').at(-1), status: failed ? 'FAILED' : 'SUCCEEDED', failureMessage: failed ? '筛选参数无效' : null })
}
if (p === '/api/platform/v1/last-leg/fleet/trips/TR-CURRENT') return response({ trip: { tripNo, warehouseId: '92', departedAt, status: 'IN_TRANSIT', remark: fault === 'historical trip' ? 'OLD' : marker } })
if (p === '/api/platform/v1/suppliers' && method === 'POST') {
for (const field of ['name', 'region', 'legalRepresentative', 'contactName', 'phone', 'settlementPeriod']) assert.ok(body[field], field)
assert.equal(body.truckingScope, 'OVERSEAS'); return response('901')
}
if (p === '/api/platform/v1/suppliers/901/status') { supplierStatus = body.status; return response(null) }
if (p === '/api/platform/v1/suppliers/901') return response({ id: '901', status: supplierStatus })
if (p === '/api/platform/v1/suppliers') { assert.equal(method, 'GET'); return response({ records: [{ id: '901', category: 'TRUCKING', truckingScope: 'OVERSEAS', status: supplierStatus }], total: 1 }) }
if (p === '/api/platform/v1/suppliers/901') { assert.equal(method, 'GET'); return response({ id: '901', category: 'TRUCKING', truckingScope: 'OVERSEAS', status: supplierStatus }) }
if (p === '/api/platform/v1/last-leg/fleet/quotes/import') {
const backup = { rows: copy(rows), histories: copy(histories), commands: copy(commands) }, result = []
for (let index = 0; index < body.rows.length; index++) {
@@ -134,7 +130,7 @@ test('offline full flow checks quotes, atomic import, current departure and meas
assert.equal(proof.status, 'VERIFIED'); assert.equal(proof.financePayment, 'NOT_TESTED'); assert.equal(proof.upstreamDeparture, 'NOT_TESTED')
assert.equal(proof.operationsStatus, 'NOT_TESTED'); assert.equal(proof.quoteStatus, 'VERIFIED')
assert.equal(context.createdResources.fleetOperationsAcceptance.operationsStatus, 'VERIFIED'); assert.equal(context.createdResources.fleetOperationsAcceptance.quoteStatus, 'NOT_TESTED')
assert.equal(rows.size, 4); assert.ok([...rows.values()].every(r => r.status === 'INACTIVE')); assert.equal(supplierStatus(), 'INACTIVE')
assert.equal(rows.size, 4); assert.ok([...rows.values()].every(r => r.status === 'INACTIVE')); assert.equal(supplierStatus(), 'ACTIVE')
assert.ok(!calls.some(call => call.method === 'DELETE')); assert.ok(!JSON.stringify(proof).includes('password'))
})
for (const fault of ['null price becomes zero', 'mutable creation replay', 'partial import leak', 'inactive leaks into active list', 'stale write accepted', 'counts destinations as trips', 'unknown cost becomes zero', 'measured replay adds history', 'json export masquerades as csv', 'historical trip']) {