test(ad-ecpm): exercise eCPM ¥500 clamp path + explicit zero-revenue assert
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user