feat: 完成错误原因合同与付款就绪提示(09-05-error-explainability-payment-readiness)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s

这个提交包含在:
2026-09-05 19:00:35 +08:00
父节点 ab82fe30c0
当前提交 a837912638
共修改 42 个文件,包含 2867 行新增和 876 行删除
@@ -381,7 +381,7 @@ describe("reimbursement attachment routes", () => {
});
expect(response.statusCode).toBe(409);
expect(response.json().error.details).toEqual({ status: "invalid_attachment_edit_status" });
expect(response.json().error.details).toEqual({ status: "invalid_attachment_edit_status", reasonCode: "reimbursement.status_invalid_attachment_edit_status" });
expect(prisma.reimbursementAttachment.create).not.toHaveBeenCalled();
} finally {
await app.close();
@@ -665,9 +665,9 @@ describe("reimbursement attachment routes", () => {
expect(unauthenticated.statusCode).toBe(401);
expect(missingReason.statusCode).toBe(400);
expect(missingReason.json().error.details).toEqual({ reason: "required" });
expect(missingReason.json().error.details).toEqual({ reason: "required", reasonCode: "reimbursement.reason_required" });
expect(missingBundleReason.statusCode).toBe(400);
expect(missingBundleReason.json().error.details).toEqual({ reason: "required" });
expect(missingBundleReason.json().error.details).toEqual({ reason: "required", reasonCode: "reimbursement.reason_required" });
expect(prisma.auditLog.create).not.toHaveBeenCalled();
} finally {
await app.close();