文件
hyb-oa/server/tests/unit/routes/workflow.travel.test.js
T

34 行
1.2 KiB
JavaScript

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