From 166fe9e8dd94aa920661746b3d511a3557de8c93 Mon Sep 17 00:00:00 2001 From: guke Date: Fri, 10 Jul 2026 14:18:22 +0800 Subject: [PATCH] =?UTF-8?q?test(ad-ecpm):=20exercise=20eCPM=20=C2=A5500=20?= =?UTF-8?q?clamp=20path=20+=20explicit=20zero-revenue=20assert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- tests/test_ad_ecpm_trace_revenue.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/test_ad_ecpm_trace_revenue.py b/tests/test_ad_ecpm_trace_revenue.py index 23f1d8e..cd800e0 100644 --- a/tests/test_ad_ecpm_trace_revenue.py +++ b/tests/test_ad_ecpm_trace_revenue.py @@ -35,12 +35,14 @@ def test_revenue_yuan_by_trace_sums_and_clamps() -> None: _ecpm("t1", "200", "sess-t1-a"), _ecpm("t1", "300", "sess-t1-b"), _ecpm("t2", "0", "sess-t2-a"), + _ecpm("t_cap", "60000", "sess-cap-a"), # 600 元 CPM > ¥500 钳顶 ]) db.flush() - rev = crud_ecpm.revenue_yuan_by_trace(db, ["t1", "t2", "t3"]) + rev = crud_ecpm.revenue_yuan_by_trace(db, ["t1", "t2", "t3", "t_cap"]) assert rev["t1"] == 0.005 - assert rev.get("t2", 0.0) == 0.0 + assert rev["t2"] == 0.0 # 有展示但 eCPM=0 → 0 元(仍在结果里) assert "t3" not in rev # 无展示的 trace 不出现在结果里 + assert rev["t_cap"] == 0.5 # min(¥600, ¥500)/1000,证明钳顶生效(非 0.6) finally: db.rollback() db.close()