Files
ShiErFeng/shierfeng-fastapi-frontend/scripts/scan-api-behavior.test.mjs
T

19 lines
1.0 KiB
JavaScript

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')
})
}
}