OSMOKE1 修复 OA-only smoke 账号治理
这个提交包含在:
@@ -27,6 +27,7 @@ function auditReport(overrides = {}) {
|
||||
{ employeeNo: "HRWDTEST-20260517214548", status: "archived", archived: true, roles: ["employee"] },
|
||||
],
|
||||
matchedActive: [],
|
||||
oaOnlySmokeExempted: [],
|
||||
wecomActiveMissingInOa: [],
|
||||
oaActiveMissingBinding: [],
|
||||
statusMismatch: [],
|
||||
@@ -103,6 +104,27 @@ describe("resolve-wecom-oa-user-consistency", () => {
|
||||
expect(plan.excludedByAllowlist.map((item) => item.employeeNo)).toEqual(["TEST001"]);
|
||||
});
|
||||
|
||||
it("exempts source-classified OA-only smoke accounts from archive plans", () => {
|
||||
const plan = buildFixPlan(auditReport({
|
||||
findings: {
|
||||
...auditReport().findings,
|
||||
oaOnlySmokeExempted: [
|
||||
{ employeeNo: "TEST001", status: "active", roles: ["admin", "employee"] },
|
||||
],
|
||||
},
|
||||
}));
|
||||
|
||||
expect(plan.archiveOaTestEmployees.map((item) => item.employeeNo)).toEqual(["TEST002"]);
|
||||
expect(plan.oaOnlySmokeExempted.map((item) => item.employeeNo)).toEqual(["TEST001"]);
|
||||
});
|
||||
|
||||
it("supports explicit OA-only smoke employee-no exemption for legacy reports", () => {
|
||||
const plan = buildFixPlan(auditReport(), { oaOnlySmokeEmployeeNos: ["TEST002"] });
|
||||
|
||||
expect(plan.archiveOaTestEmployees.map((item) => item.employeeNo)).toEqual(["TEST001"]);
|
||||
expect(plan.oaOnlySmokeExempted.map((item) => item.employeeNo)).toEqual(["TEST002"]);
|
||||
});
|
||||
|
||||
it("requires explicit environment approval for apply mode", () => {
|
||||
expect(() => assertApplyAllowed({ mode: "apply" })).toThrow(/WOUA_FIX_APPLY=1/);
|
||||
process.env.WOUA_FIX_APPLY = "1";
|
||||
@@ -116,6 +138,7 @@ describe("resolve-wecom-oa-user-consistency", () => {
|
||||
"--allow-employee-no=TEST001,TEST002",
|
||||
"--allow-employee-no",
|
||||
"TEST001",
|
||||
"--oa-only-smoke-employee-no=TEST003",
|
||||
"--repair-manager-effects",
|
||||
"--manager-fallback-employee-no=HYD000007",
|
||||
"--format=json",
|
||||
@@ -125,6 +148,7 @@ describe("resolve-wecom-oa-user-consistency", () => {
|
||||
expect(options.reportPath).toBe("summary.json");
|
||||
expect(options.format).toBe("json");
|
||||
expect(options.allowEmployeeNos).toEqual(["TEST001", "TEST002"]);
|
||||
expect(options.oaOnlySmokeEmployeeNos).toEqual(["TEST003"]);
|
||||
expect(options.repairManagerEffects).toBe(true);
|
||||
expect(options.managerFallbackEmployeeNo).toBe("HYD000007");
|
||||
});
|
||||
|
||||
在新工单中引用
屏蔽一个用户