From 316863b2e0ca16c6399b8afd2cafc21e05b66daa Mon Sep 17 00:00:00 2001 From: ThearchyHelios Date: Wed, 21 Oct 2026 16:19:28 +0000 Subject: [PATCH] =?UTF-8?q?=E9=9B=B6=E5=94=AE=E6=A0=B7=E4=BE=8B=E9=A2=98?= =?UTF-8?q?=E9=9B=86=E7=9A=84=E8=AF=95=E7=AE=97=EF=BC=9A=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E4=B8=A4=E8=BE=B9=E9=83=BD=E6=8C=89=E4=B8=A4?= =?UTF-8?q?=E4=BD=8D=E5=B0=8F=E6=95=B0=E6=AF=94=EF=BC=88SQLite=20=E7=9A=84?= =?UTF-8?q?=20ROUND(SUM(amount),=202)=20=E5=87=BA=E6=9D=A5=E6=98=AF?= =?UTF-8?q?=E6=B5=AE=E7=82=B9=EF=BC=8C6448.19=20=E5=AD=98=E6=88=90=206448.?= =?UTF-8?q?1900000000005=EF=BC=8C=E9=80=90=E5=AD=97=E6=AF=94=E4=BC=9A?= =?UTF-8?q?=E9=9A=8F=E6=95=B0=E6=8D=AE=E5=8F=98=E8=80=8C=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=EF=BC=9Bmain=20=E4=B8=8A=E5=90=8C=E6=A0=B7=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/tests/test_evals_api.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/tests/test_evals_api.py b/backend/tests/test_evals_api.py index 1264129f..dc252f18 100644 --- a/backend/tests/test_evals_api.py +++ b/backend/tests/test_evals_api.py @@ -431,9 +431,11 @@ async def test_the_retail_sample_suite_trials_on_the_retail_database(client, tmp # 陷阱确实埋着:按下单日、含退款算出来的都不一样 assert paid not in (by_order_date, with_refunds) refunds = await trial(2) - assert (refunds["refund_orders"]["value"], refunds["refund_amount"]["value"]) == one( - f"SELECT COUNT(*), ROUND(SUM(amount), 2) FROM orders WHERE status = 'refunded' AND paid_date BETWEEN " - f"'{start}' AND '{end}'") + # 金额两边都按两位小数比:SQLite 的 ROUND(SUM(amount), 2) 出来的是浮点(6448.19 存成 6448.1900000000005), + # 和试算交回的金额逐字比会随数据变而挂 + orders, amount = one(f"SELECT COUNT(*), ROUND(SUM(amount), 2) FROM orders WHERE status = 'refunded' " + f"AND paid_date BETWEEN '{start}' AND '{end}'") + assert (refunds["refund_orders"]["value"], round(refunds["refund_amount"]["value"], 2)) == (orders, amount) assert refunds["refund_orders"]["value"] > 0 cancelled = await trial(3) assert cancelled["cancelled"]["value"] == one(