import assert from 'node:assert/strict' import { readFile } from 'node:fs/promises' import { test } from 'node:test' for (const platform of ['frontend', 'app']) { for (const kind of ['inbound', 'filling', 'shipment', 'usage', 'return']) { test(`${platform}/${kind} 托盘号中的路径和查询字符作为单个标识传输`, async () => { const source = await readFile(new URL(`../../shierfeng-fastapi-${platform}/src/api/business/${kind}.js`, import.meta.url), 'utf8') const requests = [] const name = `scan${kind[0].toUpperCase()}${kind.slice(1)}Pallet` const load = new Function('request', `${source.replace(/^import .*$/gm, '').replace(/export /g, '')}; return ${name}`) const scan = load(config => { requests.push(config); return Promise.resolve({}) }) await scan('托盘/2026?批#1', { warehouseId: 1, sourceWarehouseId: 1, targetSiteId: 9 }) assert.equal(requests[0].url, `/business/${kind}/scan/${encodeURIComponent('托盘/2026?批#1')}`) assert.equal(requests[0].method, 'get') }) } }