收敛报销退回动作与审批布局 [09-04-approval-return-reject-actions]
这个提交包含在:
@@ -52,7 +52,7 @@ test("报销审批五类阻断原因由同一投影给出且正常态保持安
|
||||
};
|
||||
|
||||
expect(resolveReimbursementApprovalBlockReason(base)).toBeNull();
|
||||
expect(resolveReimbursementApprovalBlockReason({ ...base, online: false })).toBe("报销审批需联网核对完整报销内容;当前不能通过、退回、驳回或转审。");
|
||||
expect(resolveReimbursementApprovalBlockReason({ ...base, online: false })).toBe("报销审批需联网核对完整报销内容;当前不能通过、退回修改或转审。");
|
||||
expect(resolveReimbursementApprovalBlockReason({ ...base, detailState: "loading" })).toBe("正在加载完整报销内容和票据;加载完成前不能作出审批决定。");
|
||||
expect(resolveReimbursementApprovalBlockReason({ ...base, detailState: "error" })).toBe("报销内容未加载完整,暂不能审批,请刷新后重试");
|
||||
expect(resolveReimbursementApprovalBlockReason({ ...base, snapshotParseStatus: "invalid" })).toBe("提交时检查记录无法解析,暂时不能审批;请联系系统管理员核对。");
|
||||
@@ -73,6 +73,13 @@ test("动作面板复用唯一阻断投影且预算三态判断保持原合同",
|
||||
expect(adapter).not.toContain("内容未就绪,审批动作已停用");
|
||||
expect(adapter).not.toContain("statusSummary");
|
||||
expect(adapter).toContain("actionError || activeSecondaryAction ?");
|
||||
expect(adapter).toContain('data-testid="reimbursement-approval-primary-actions"');
|
||||
expect(adapter).toContain('className="grid grid-cols-2 gap-2"');
|
||||
expect(adapter).toContain("退回修改");
|
||||
expect(adapter).not.toContain("rejectWorkflowTask");
|
||||
expect(adapter).not.toContain('allowedActions.has("reject")');
|
||||
expect(adapter).not.toContain("workflow-task-reject-toggle");
|
||||
expect(adapter).not.toContain("mobile-approvals-reject");
|
||||
});
|
||||
|
||||
test("旧审批层叠 class 与更多菜单样式无定义或消费者", () => {
|
||||
|
||||
在新工单中引用
屏蔽一个用户