59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
const test = require('node:test')
|
|
const assert = require('node:assert/strict')
|
|
|
|
const {
|
|
buildAssignableExistingSheet2PublicEquipmentWhere,
|
|
PUBLIC_ASSET_ASSIGNABLE_EXISTING_STATUSES,
|
|
buildPublicAssetBorrowState,
|
|
isSheet2PublicEquipmentDescription
|
|
} = require('../sheet2PublicAssetImportUtils')
|
|
|
|
test('isSheet2PublicEquipmentDescription 只识别总表待导入 Sheet2 公共设备描述', () => {
|
|
assert.equal(
|
|
isSheet2PublicEquipmentDescription(
|
|
'source_workbook=docs/总表待导入.xlsx; source_sheet=Sheet2; source_row=66'
|
|
),
|
|
true
|
|
)
|
|
assert.equal(
|
|
isSheet2PublicEquipmentDescription(
|
|
'source_workbook=docs/8.xlsx; source_sheet=Sheet1; source_row=66'
|
|
),
|
|
false
|
|
)
|
|
assert.equal(isSheet2PublicEquipmentDescription(''), false)
|
|
})
|
|
|
|
test('buildPublicAssetBorrowState 应把公共资产挂名状态统一转成已借出', () => {
|
|
assert.deepEqual(buildPublicAssetBorrowState(0), {
|
|
equipmentStatus: '已借出',
|
|
remainingQuantity: 0,
|
|
totalValue: 0,
|
|
borrowedValue: 0,
|
|
availableValue: 0
|
|
})
|
|
|
|
assert.deepEqual(buildPublicAssetBorrowState('1280.50'), {
|
|
equipmentStatus: '已借出',
|
|
remainingQuantity: 0,
|
|
totalValue: 1280.5,
|
|
borrowedValue: 1280.5,
|
|
availableValue: 0
|
|
})
|
|
})
|
|
|
|
test('PUBLIC_ASSET_ASSIGNABLE_EXISTING_STATUSES 只允许当前可用的既有公共设备自动挂名', () => {
|
|
assert.deepEqual(PUBLIC_ASSET_ASSIGNABLE_EXISTING_STATUSES, ['可用'])
|
|
})
|
|
|
|
test('buildAssignableExistingSheet2PublicEquipmentWhere 只筛可用且未在借的 Sheet2 公共设备', () => {
|
|
assert.deepEqual(buildAssignableExistingSheet2PublicEquipmentWhere(), {
|
|
AND: [
|
|
{ description: { contains: 'source_workbook=docs/总表待导入.xlsx' } },
|
|
{ description: { contains: 'source_sheet=Sheet2' } }
|
|
],
|
|
status: { in: ['可用'] },
|
|
borrow_records: { none: { status: '已借出' } }
|
|
})
|
|
})
|