收口导航与报销审批入口(05-30-nav-reimbursement-approval-surface)

这个提交包含在:
2026-05-30 14:39:13 +08:00
父节点 caf62657f3
当前提交 a0db9c3dbe
共修改 15 个文件,包含 345 行新增和 434 行删除
@@ -65,10 +65,15 @@ describe("workspace small-team navigation defaults", () => {
"team",
"leaveRequests",
"reimbursements",
"assets",
"projects",
"contractsRegistry",
"purchaseRequests",
]);
expect(DEFAULT_MODULE_VISIBILITY.todos).toBe("hidden");
expect(DEFAULT_MODULE_VISIBILITY.assets).toBe("admin");
expect(DEFAULT_MODULE_VISIBILITY.assets).toBe("main");
expect(DEFAULT_MODULE_VISIBILITY.contractsRegistry).toBe("main");
expect(DEFAULT_MODULE_VISIBILITY.purchaseRequests).toBe("main");
expect(DEFAULT_MODULE_VISIBILITY.attendance).toBe("hidden");
});
@@ -103,19 +108,19 @@ describe("workspace small-team navigation defaults", () => {
const navigation = await getSystemNavigation({
prisma: buildPrisma(["presence_board_v1", "project_domain_v1"]),
config: buildConfig(),
config: { ...buildConfig(), projectDomainEnabled: true },
employee,
hasPermission: (candidate, permissionCode) => hasPermission(candidate.permissionCodes, permissionCode),
});
const mainLabels = navigation.sections.main.map((item) => item.label);
expect(mainLabels).toEqual(["工作台", "报销", "请假记录"]);
expect(mainLabels).toEqual(["工作台", "报销", "采购申请", "项目", "资产", "请假记录"]);
expect(mainLabels).not.toContain("待我处理");
expect(mainLabels).not.toContain("票据");
expect(mainLabels).not.toContain("个人设置");
const backupKeys = navigation.sections.backup.map((item) => item.key);
expect(backupKeys).toContain("purchaseRequests");
expect(backupKeys).not.toContain("purchaseRequests");
expect(backupKeys).not.toContain("travelRequests");
expect(backupKeys).not.toContain("invoicePool");
expect(backupKeys).not.toContain("contractsRegistry");
@@ -135,8 +140,8 @@ describe("workspace small-team navigation defaults", () => {
};
const managerNavigation = await getSystemNavigation({
prisma: buildPrisma(["presence_board_v1", "project_domain_v1"]),
config: { ...buildConfig(), projectDomainEnabled: true, presenceBoardEnabled: true },
prisma: buildPrisma(["presence_board_v1", "project_domain_v1", "project_linking_v1"]),
config: { ...buildConfig(), projectDomainEnabled: true, projectLinkingEnabled: true, presenceBoardEnabled: true },
employee: manager,
hasPermission: (candidate, permissionCode) => hasPermission(candidate.permissionCodes, permissionCode),
});
@@ -145,7 +150,10 @@ describe("workspace small-team navigation defaults", () => {
"工作台",
"待我处理",
"报销",
"采购申请",
"合同台账",
"项目",
"资产",
"团队",
"请假记录",
]);