feat(P20T1-1,P20T1-2,P20T1-3): 差旅模型、申请/订单接口与工作流分支
这个提交包含在:
@@ -0,0 +1,33 @@
|
||||
const { NOTIFICATION_TYPES } = require("../../../src/constants/notificationTypes");
|
||||
const workflowRoutes = require("../../../src/routes/workflow");
|
||||
|
||||
describe("workflow travel helpers", () => {
|
||||
const { getWorkflowEntityMeta, resolveWorkflowOutcomeNotificationType } = workflowRoutes.__testables;
|
||||
|
||||
it("builds travel entity meta with deep-link detail path", () => {
|
||||
const meta = getWorkflowEntityMeta(
|
||||
"travel_request",
|
||||
{ request_no: "CL-20260310-0001" },
|
||||
"11111111-1111-4111-8111-111111111111",
|
||||
);
|
||||
|
||||
expect(meta).toEqual(
|
||||
expect.objectContaining({
|
||||
label: "差旅申请",
|
||||
reference: "CL-20260310-0001",
|
||||
targetType: "travel_request",
|
||||
detailPath: "/travel-requests?id=11111111-1111-4111-8111-111111111111",
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it("resolves approved and rejected notification types for travel workflows", () => {
|
||||
expect(resolveWorkflowOutcomeNotificationType("travel_request", "approved")).toBe(
|
||||
NOTIFICATION_TYPES.travelRequestApproved,
|
||||
);
|
||||
expect(resolveWorkflowOutcomeNotificationType("travel_request", "rejected")).toBe(
|
||||
NOTIFICATION_TYPES.travelRequestRejected,
|
||||
);
|
||||
expect(resolveWorkflowOutcomeNotificationType("travel_request", "returned")).toBeNull();
|
||||
});
|
||||
});
|
||||
在新工单中引用
屏蔽一个用户