48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import { describe, it } from 'node:test'
|
|
import assert from 'node:assert/strict'
|
|
import {
|
|
formatFormValueDisplay,
|
|
formatRegionLikeDisplay,
|
|
formatUnknownObjectDisplay
|
|
} from './oa-form-value-display'
|
|
|
|
describe('oa-form-value-display', () => {
|
|
it('formats region path array and object', () => {
|
|
assert.equal(
|
|
formatRegionLikeDisplay(['安徽省', '合肥市', '蜀山区']),
|
|
'安徽省 / 合肥市 / 蜀山区'
|
|
)
|
|
assert.equal(
|
|
formatRegionLikeDisplay({
|
|
province: '安徽省',
|
|
city: '合肥市',
|
|
district: '蜀山区'
|
|
}),
|
|
'安徽省 / 合肥市 / 蜀山区'
|
|
)
|
|
})
|
|
|
|
it('never JSON.stringifies unknown objects', () => {
|
|
const text = formatFormValueDisplay({
|
|
foo: 1,
|
|
bar: 'baz',
|
|
id: 'hidden',
|
|
durationManual: true
|
|
})
|
|
assert.equal(text.includes('{'), false)
|
|
assert.equal(text.includes('hidden'), false)
|
|
assert.ok(text.includes('baz'))
|
|
})
|
|
|
|
it('formats trip-like object without dumping keys', () => {
|
|
const text = formatUnknownObjectDisplay({
|
|
transport: '汽车',
|
|
fromCity: '合肥',
|
|
toCity: '上海',
|
|
durationManual: false
|
|
})
|
|
assert.ok(text.includes('合肥 → 上海'))
|
|
assert.equal(text.includes('durationManual'), false)
|
|
})
|
|
})
|