修正 OALAUNCH1 登录与业务流回归(05-28-oalaunch1-parallel-closeout)

这个提交包含在:
2026-05-28 16:23:56 +08:00
父节点 c8b41a4056
当前提交 c30e2b1348
共修改 9 个文件,包含 162 行新增和 53 行删除
@@ -523,7 +523,7 @@ test.describe("R3 权限直连审计", () => {
await expectApiStatus({ role: "employee", api: employee.api, path: "/api/notifications/deliveries", statuses: [403], note: "员工不得查看通知投递审计" });
await expectApiMutationStatus({ role: "employee", api: employee.api, path: "/api/exports/ap-operations", method: "post", data: { format: "csv" }, statuses: [403, 409], note: "员工不得导出 AP 运营数据;409 表示功能门禁关闭且未泄露数据" });
await expectApiStatus({ role: "employee", api: employee.api, path: "/api/contracts-registry", statuses: [200, 409], note: "员工合同台账只能走范围过滤或功能门禁" });
await expectApiStatus({ role: "employee", api: employee.api, path: "/api/travel-requests?mine=0&pageSize=50", statuses: [200], note: "员工差旅列表强制本人范围" });
await expectApiStatus({ role: "employee", api: employee.api, path: "/api/travel-requests?mine=0&pageSize=50", statuses: [403], note: "差旅冻结期员工不得直连差旅列表" });
const employeeInvoices = await expectApiStatus({
role: "employee",
@@ -535,22 +535,6 @@ test.describe("R3 权限直连审计", () => {
expect((employeeInvoices.body?.data as JsonObject)?.ownerScope).toBe("own");
expectArray((employeeInvoices.body?.data as JsonObject)?.items, "employee invoice items");
const employeeTravel = await expectApiStatus({
role: "employee",
api: employee.api,
path: "/api/travel-requests?mine=0&pageSize=50",
statuses: [200],
note: "员工差旅 mine=0 被服务端收敛为 mine=true",
});
const travelData = employeeTravel.body?.data as JsonObject;
expect(travelData.mine).toBe(true);
for (const item of expectArray(travelData.items, "employee travel items")) {
expect(
item.applicantEmployeeId === employee.me.id || item.submitterId === employee.me.id,
`travel request ${String(item.id)} must belong to employee scope`,
).toBe(true);
}
await expectApiStatus({ role: "manager", api: manager.api, path: "/api/ap-operations", statuses: [403, 409], note: "主管不得直连 AP" });
await expectApiStatus({ role: "manager", api: manager.api, path: "/api/ap-operations/reimbursement-ledger", statuses: [403, 409], note: "主管不得直连财务台账" });
await expectApiStatus({ role: "manager", api: manager.api, path: "/api/payment-batches", statuses: [403, 409], note: "主管不得直连付款批次" });