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(); }); });