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()