Files
zkxw/web-admin/src/utils/oa-person-value.test.ts
T
2026-07-30 12:09:45 +08:00

63 lines
1.5 KiB
TypeScript

import { describe, it } from 'node:test'
import assert from 'node:assert/strict'
import {
extractPersonIds,
formatPersonDisplay,
isPersonValueItem,
normalizePersonModelValue
} from './oa-person-value'
describe('oa-person-value', () => {
it('isPersonValueItem', () => {
assert.equal(isPersonValueItem({ id: 'u1', name: '张三' }), true)
assert.equal(isPersonValueItem({ id: '', name: 'x' }), false)
assert.equal(isPersonValueItem(null), false)
})
it('normalize single', () => {
assert.deepEqual(normalizePersonModelValue({ id: 'u1', name: '张三' }, false), {
id: 'u1',
name: '张三'
})
assert.equal(normalizePersonModelValue(null, false), null)
})
it('normalize multiple', () => {
assert.deepEqual(
normalizePersonModelValue(
[
{ id: 'u1', name: '张三' },
{ id: 'u2', name: '李四' }
],
true
),
[
{ id: 'u1', name: '张三' },
{ id: 'u2', name: '李四' }
]
)
assert.deepEqual(normalizePersonModelValue(null, true), [])
})
it('format and extract ids', () => {
assert.equal(
formatPersonDisplay([
{ id: 'u1', name: '张三' },
{ id: 'u2', name: '李四' }
]),
'张三、李四'
)
assert.deepEqual(
extractPersonIds({ id: 'u1', name: '张三' }),
['u1']
)
assert.deepEqual(
extractPersonIds([
{ id: 'u1', name: '张三' },
{ id: 'u2', name: '李四' }
]),
['u1', 'u2']
)
})
})