修复(08-28-reimbursement-review-routing-copy): 规范财务兜底文案
这个提交包含在:
@@ -114,6 +114,22 @@ describe("workflow assignee resolution", () => {
|
||||
);
|
||||
});
|
||||
|
||||
describe("resolveWorkflowStepDisplayName", () => {
|
||||
it("hides the internal role code in legacy owner fallback tasks", () => {
|
||||
expect(workflowUtils.resolveWorkflowStepDisplayName({
|
||||
step_name: "负责人本人申请兜底:finance",
|
||||
assignee_role: "finance",
|
||||
})).toBe("财务复核");
|
||||
});
|
||||
|
||||
it("keeps normal readable workflow names unchanged", () => {
|
||||
expect(workflowUtils.resolveWorkflowStepDisplayName({
|
||||
step_name: "高额财务终审",
|
||||
assignee_role: "finance",
|
||||
})).toBe("高额财务终审");
|
||||
});
|
||||
});
|
||||
|
||||
describe("buildApprovalWorkflowSnapshot", () => {
|
||||
it("keeps ordinary employee approval snapshots unchanged", async () => {
|
||||
const tx = buildTx({ ownerRoles: ["employee"], managerId: MANAGER_ID });
|
||||
@@ -153,6 +169,7 @@ describe("workflow assignee resolution", () => {
|
||||
{ type: "role", value: "finance" },
|
||||
]);
|
||||
expect(steps[0].id).toContain("owner_self_fallback");
|
||||
expect(steps[0].name).toBe("财务复核");
|
||||
|
||||
const resolved = await resolveActionableStep({
|
||||
tx,
|
||||
@@ -184,6 +201,7 @@ describe("workflow assignee resolution", () => {
|
||||
{ type: "role", value: "finance" },
|
||||
]);
|
||||
expect(steps[0].id).toContain("owner_self_fallback");
|
||||
expect(steps[0].name).toBe("财务复核");
|
||||
});
|
||||
|
||||
it("removes CEO self node and duplicate fallback role for large CEO owner applications", async () => {
|
||||
|
||||
在新工单中引用
屏蔽一个用户