31 lines
1.5 KiB
JavaScript
31 lines
1.5 KiB
JavaScript
import assert from 'node:assert/strict'
|
|
import { readFileSync } from 'node:fs'
|
|
import test from 'node:test'
|
|
|
|
const source = readFileSync(new URL('inbound-measurement.mjs', import.meta.url), 'utf8')
|
|
|
|
test('measurement acceptance scans the stable box code frozen by first print', () => {
|
|
assert.match(source, /const boxCode = `\$\{inboundCode\}#\$\{originalPackageCount\}-1`/)
|
|
assert.doesNotMatch(source, /#V\d+#/)
|
|
})
|
|
|
|
test('reprint and Mojia scan share the same frozen box code variable', () => {
|
|
assert.match(source, /重复整单打印复用已冻结箱码映射[\s\S]*boxCode=\$\{boxCode\}/)
|
|
assert.match(source, /const firstScanResponse = await multipartRequest[\s\S]*boxCode, \.\.\.firstDimensions/)
|
|
})
|
|
|
|
test('measurement submission confirms weight evidence before submit', () => {
|
|
assert.match(source, /files\/measurements\/\$\{tenantId\}\/\$\{inboundId\}/)
|
|
assert.match(source, /\/weight-results\?\$\{query\(tenantId\)\}/)
|
|
assert.match(source, /\/weight-results\/\$\{created\.id\}\/confirm\?\$\{query\(tenantId\)\}/)
|
|
assert.match(source, /createConfirmedWeightEvidence[\s\S]*\/measurement\/submit/)
|
|
})
|
|
|
|
test('measurement fixture derives pallet resources from confirmed image count', () => {
|
|
assert.match(source, /waitSplitVariant\?\.palletCount \|\| 1/)
|
|
assert.match(source, /palletIds: warehouseResourcesReady\.palletIds/)
|
|
assert.match(source, /confirmedRows\.length === palletIds\.length/)
|
|
assert.doesNotMatch(source, /Math\.ceil\(Number\(totalVolumeCbm\)/)
|
|
assert.doesNotMatch(source, /Math\.ceil\(totalVolume \/ DEFAULT_PALLET_CAPACITY_CBM\)/)
|
|
})
|