fix: 加固日历日期与动态错误合同(09-05-error-explainability-payment-readiness,09-08-reimbursement-payment-closeout)
这个提交包含在:
@@ -128,6 +128,19 @@ async function buildApp({ employee, prisma }) {
|
||||
}
|
||||
|
||||
describe("travelRequests routes", () => {
|
||||
it.each(["startDate", "endDate"])("rejects overflowing %s before the edit transaction", async (field) => {
|
||||
const prisma = { $transaction: vi.fn() };
|
||||
const app = await buildApp({ employee: { id: "employee-1", permissionCodes: ["travel.create"] }, prisma });
|
||||
try {
|
||||
const response = await app.inject({ method: "PATCH", url: "/api/travel-requests/11111111-1111-4111-8111-111111111111",
|
||||
headers: { authorization: "Bearer test" }, payload: { [field]: "2026-04-31" } });
|
||||
expect(response.statusCode).toBe(400);
|
||||
expect(response.json().error.code).toBe("VALID_001");
|
||||
expect(response.json().error.details.fieldErrors[field]).toContain("invalid_calendar_date");
|
||||
expect(prisma.$transaction).not.toHaveBeenCalled();
|
||||
} finally { await app.close(); }
|
||||
});
|
||||
|
||||
it("lists only own records when actor lacks view_all", async () => {
|
||||
const prisma = buildPrisma({
|
||||
items: [buildTravelRequestRecord()],
|
||||
|
||||
在新工单中引用
屏蔽一个用户