30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import { canSubmitBorrowScan, hasSelectedBorrowPerson } from '../src/views/borrow/borrowScanState.ts'
|
|
|
|
assert.equal(hasSelectedBorrowPerson(null), false, '未选使用者时不应允许提交')
|
|
assert.equal(hasSelectedBorrowPerson(Number.NaN), false, '无效使用者编号不应允许提交')
|
|
assert.equal(hasSelectedBorrowPerson(12), true, '选中使用者后应识别为有效选择')
|
|
|
|
assert.equal(
|
|
canSubmitBorrowScan({ hasEquipment: true, selectedPersonId: 12, loading: false }),
|
|
true,
|
|
'已有资产且已选使用者时,应允许直接点击确认出库'
|
|
)
|
|
assert.equal(
|
|
canSubmitBorrowScan({ hasEquipment: true, selectedPersonId: null, loading: false }),
|
|
false,
|
|
'未选使用者时不应允许提交'
|
|
)
|
|
assert.equal(
|
|
canSubmitBorrowScan({ hasEquipment: false, selectedPersonId: 12, loading: false }),
|
|
false,
|
|
'未识别资产时不应允许提交'
|
|
)
|
|
assert.equal(
|
|
canSubmitBorrowScan({ hasEquipment: true, selectedPersonId: 12, loading: true }),
|
|
false,
|
|
'提交中不应重复点击'
|
|
)
|
|
|
|
console.log('borrow scan state tests: ok')
|