30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import { canSubmitReturnScan, hasSelectedReturnRecord } from '../src/views/borrow/returnScanState.ts'
|
|
|
|
assert.equal(hasSelectedReturnRecord(null), false, '未选归还记录时不应允许提交')
|
|
assert.equal(hasSelectedReturnRecord(Number.NaN), false, '无效归还记录编号不应允许提交')
|
|
assert.equal(hasSelectedReturnRecord(101), true, '选中归还记录后应识别为有效选择')
|
|
|
|
assert.equal(
|
|
canSubmitReturnScan({ hasBorrowRecordInfo: true, selectedBorrowRecordId: 101, loading: false }),
|
|
true,
|
|
'已读取资产且已选归还记录时,应允许确认入库'
|
|
)
|
|
assert.equal(
|
|
canSubmitReturnScan({ hasBorrowRecordInfo: true, selectedBorrowRecordId: null, loading: false }),
|
|
false,
|
|
'未选归还记录时不应允许提交'
|
|
)
|
|
assert.equal(
|
|
canSubmitReturnScan({ hasBorrowRecordInfo: false, selectedBorrowRecordId: 101, loading: false }),
|
|
false,
|
|
'未读取资产时不应允许提交'
|
|
)
|
|
assert.equal(
|
|
canSubmitReturnScan({ hasBorrowRecordInfo: true, selectedBorrowRecordId: 101, loading: true }),
|
|
false,
|
|
'提交中不应重复点击'
|
|
)
|
|
|
|
console.log('return scan state tests: ok')
|