57 lines
1.2 KiB
TypeScript
57 lines
1.2 KiB
TypeScript
import assert from 'node:assert/strict'
|
|
import { mergeProgressWithComments } from '../src/utils/oa-progress-merge-comments'
|
|
|
|
const progress = [
|
|
{
|
|
key: 'submit',
|
|
kind: 'submit',
|
|
title: '发起人',
|
|
status: 'submitted',
|
|
timestamp: '2026-09-21 10:00:00'
|
|
},
|
|
{
|
|
key: 'task-a',
|
|
kind: 'task',
|
|
title: '主管审批',
|
|
status: 'approved',
|
|
timestamp: '2026-09-21 10:05:00'
|
|
},
|
|
{
|
|
key: 'task-b',
|
|
kind: 'task',
|
|
title: '经理审批',
|
|
status: 'pending',
|
|
timestamp: '2026-09-21 10:05:01'
|
|
},
|
|
{
|
|
key: 'future',
|
|
kind: 'task',
|
|
title: '财务',
|
|
status: 'not_reached',
|
|
timestamp: ''
|
|
}
|
|
]
|
|
|
|
const comments = [
|
|
{
|
|
id: 'c1',
|
|
content: '请补充材料',
|
|
attachmentRefs: [],
|
|
status: 'normal',
|
|
createBy: 'u1',
|
|
createByName: '张三',
|
|
createTime: '2026-09-21 10:06:00',
|
|
canRevoke: true
|
|
}
|
|
]
|
|
|
|
const out = mergeProgressWithComments(progress as any, comments as any)
|
|
assert.equal(
|
|
out.map((x) => x.key).join(','),
|
|
'submit,task-a,comment-c1,task-b,future'
|
|
)
|
|
assert.equal(out[2].kind, 'comment')
|
|
assert.equal(out[3].status, 'pending')
|
|
assert.equal(out[4].status, 'not_reached')
|
|
console.log('ok: mergeProgressWithComments')
|