ATTV1 实现考勤统一入口与企微同步

这个提交包含在:
2026-05-17 16:56:24 +08:00
父节点 d50b7db143
当前提交 916cc3b7f7
共修改 51 个文件,包含 3323 行新增和 1762 行删除
@@ -55,6 +55,19 @@ describe("Workflow Route Permissions", () => {
expect(actions).toEqual(["approve", "reject", "return"]);
});
it("allows attendance approvers to approve/reject attendance corrections without return action", () => {
const actions = listAllowedActionsForTask(
{ employee: { permissionCodes: ["attendance.approve"] } },
{
status: "pending",
workflow_instance: { entity_type: "attendance_correction" },
},
true,
);
expect(actions).toEqual(["approve", "reject"]);
});
it("allows transfer on approval tasks when actor also has expense.transfer", () => {
const reimbursementActions = listAllowedActionsForTask(
{ employee: { permissionCodes: ["expense.approve", "expense.transfer"] } },
@@ -109,9 +122,9 @@ describe("Workflow Route Permissions", () => {
});
it("parses optional workflow entityType filter for PC approval center", () => {
expect(parseTaskListQuery({ status: "pending", entityType: "purchase_request", page: "2" })).toMatchObject({
expect(parseTaskListQuery({ status: "pending", entityType: "attendance_correction", page: "2" })).toMatchObject({
status: "pending",
entityType: "purchase_request",
entityType: "attendance_correction",
page: 2,
pageSize: 20,
});