OAPERM1 收紧启用前权限冻结

这个提交包含在:
2026-05-24 00:57:11 +08:00
父节点 a3f13eab57
当前提交 65513a5291
共修改 27 个文件,包含 231 行新增和 149 行删除
+12 -10
查看文件
@@ -51,21 +51,23 @@ describe("Permission Constants", () => {
expect(hasPermission(resolvePermissionsForRoles(["administration"]), "procurement.manage")).toBe(true);
});
it("grants travel permissions to configured roles", () => {
expect(hasPermission(resolvePermissionsForRoles(["employee"]), "travel.create")).toBe(true);
expect(hasPermission(resolvePermissionsForRoles(["employee"]), "travel.submit")).toBe(true);
expect(hasPermission(resolvePermissionsForRoles(["manager"]), "travel.approve")).toBe(true);
it("freezes travel permissions for non-admin launch roles", () => {
expect(hasPermission(resolvePermissionsForRoles(["employee"]), "travel.create")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["employee"]), "travel.submit")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["manager"]), "travel.approve")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["finance"]), "travel.approve")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["finance_mgr"]), "travel.manage")).toBe(true);
expect(hasPermission(resolvePermissionsForRoles(["administration"]), "travel.manage")).toBe(true);
expect(hasPermission(resolvePermissionsForRoles(["finance_mgr"]), "travel.manage")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["administration"]), "travel.manage")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["admin"]), "travel.manage")).toBe(true);
});
it("grants travel.payment.manage only to configured finance and administration roles", () => {
expect(hasPermission(resolvePermissionsForRoles(["finance"]), "travel.payment.manage")).toBe(true);
expect(hasPermission(resolvePermissionsForRoles(["finance_mgr"]), "travel.payment.manage")).toBe(true);
expect(hasPermission(resolvePermissionsForRoles(["administration"]), "travel.payment.manage")).toBe(true);
it("freezes travel.payment.manage before travel launch", () => {
expect(hasPermission(resolvePermissionsForRoles(["finance"]), "travel.payment.manage")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["finance_mgr"]), "travel.payment.manage")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["administration"]), "travel.payment.manage")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["manager"]), "travel.payment.manage")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["employee"]), "travel.payment.manage")).toBe(false);
expect(hasPermission(resolvePermissionsForRoles(["admin"]), "travel.payment.manage")).toBe(true);
});
it("grants ai.assist only to finance manager and admin", () => {