53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
/**
|
|
* 打印「审批流程」:撤销清待办 cancelled → 无需处理;终态归因发起人
|
|
* Spec: docs/superpowers/specs/2026-08-13-oa-progress-withdraw-cancelled-display-design.md
|
|
*/
|
|
import { describe, it } from 'node:test'
|
|
import assert from 'node:assert/strict'
|
|
import { buildFlowItems } from './oa-approval-print-flow'
|
|
|
|
describe('buildFlowItems · withdraw cancelled', () => {
|
|
it('maps cancelled approval task to 无需处理 and terminal to 发起人撤销', () => {
|
|
const items = buildFlowItems({
|
|
progress: [
|
|
{
|
|
kind: 'submit',
|
|
title: '发起人',
|
|
status: 'submitted',
|
|
assigneeUserName: '吴子龙',
|
|
timestamp: '2026-08-13 11:17:38'
|
|
},
|
|
{
|
|
kind: 'task',
|
|
title: '直接主管',
|
|
status: 'cancelled',
|
|
signMode: 'and',
|
|
timestamp: '',
|
|
people: [
|
|
{
|
|
nickName: '张主管',
|
|
status: 'cancelled',
|
|
timestamp: '2026-08-13 12:47:46',
|
|
commentText: ''
|
|
}
|
|
]
|
|
},
|
|
{
|
|
kind: 'terminal',
|
|
title: '已撤销',
|
|
status: 'cancelled',
|
|
assigneeUserName: '吴子龙',
|
|
commentText: '发起人撤销',
|
|
timestamp: '2026-08-13 12:47:46'
|
|
}
|
|
]
|
|
})
|
|
|
|
assert.equal(items[0].left.includes('已提交'), true)
|
|
assert.equal(items[1].left, '【直接主管·会签】 无需处理')
|
|
assert.deepEqual(items[1].personLines, [{ left: '张主管 无需处理', right: '' }])
|
|
assert.equal(items[2].left, '已撤销 吴子龙 发起人撤销')
|
|
assert.equal(items[2].right, '2026-08-13 12:47:46')
|
|
})
|
|
})
|