fix: 加固日历日期与动态错误合同(09-05-error-explainability-payment-readiness,09-08-reimbursement-payment-closeout)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s

这个提交包含在:
2026-09-16 20:20:11 +08:00
父节点 842c61e696
当前提交 b1d25d3c99
共修改 20 个文件,包含 253 行新增和 21 行删除
@@ -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()],