feat(analytics): lower maturity window to 2 days and reword about page
This commit is contained in:
1 parent
b405fc5fd7
commit
e7034cfb84
11 files changed
+66
-28
No files matched your search
@@ -132,7 +132,7 @@ def test_analytics_defaults_and_validation():
|
||||
write(path, base_config())
|
||||
cfg = load_config(path, env={})
|
||||
assert cfg.analytics.min_duration_seconds == 600
|
||||
assert cfg.analytics.maturity_days == 14
|
||||
assert cfg.analytics.maturity_days == 2
|
||||
assert cfg.analytics.min_view_for_efficiency == 0
|
||||
assert cfg.analytics.shrink_minutes is None
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ sys.stdout.reconfigure(encoding="utf-8")
|
||||
from reaction_board.config import ConfigStore # noqa: E402
|
||||
from reaction_board.database import Database # noqa: E402
|
||||
from reaction_board.repository import Repository # noqa: E402
|
||||
from reaction_board.timeutil import day_bounds # noqa: E402
|
||||
from reaction_board.web.cache import DASHBOARD_CACHE # noqa: E402
|
||||
from reaction_board.web.queries import DashboardQueries # noqa: E402
|
||||
from tests.web_fixtures import DATES, build_db, write_config # noqa: E402
|
||||
@@ -367,7 +368,7 @@ def test_duration_efficiency_queries():
|
||||
assert first["content_hours"] == 2.0
|
||||
assert first["efficiency"] == 2600.0
|
||||
assert efficiency["duration_filter"] == {
|
||||
"min_duration_seconds": 600, "maturity_days": 14, "min_view": 0,
|
||||
"min_duration_seconds": 600, "maturity_days": 2, "min_view": 0,
|
||||
}
|
||||
|
||||
interaction = q.list_videos(sort="interaction_efficiency")
|
||||
@@ -393,6 +394,17 @@ def test_duration_efficiency_queries():
|
||||
DASHBOARD_CACHE.clear()
|
||||
missing = q.list_videos(sort="efficiency")
|
||||
assert [item["aid"] for item in missing["items"]] == [102]
|
||||
|
||||
# 发布未满 2 天的视频不进入效率榜
|
||||
db.write(lambda conn: conn.execute(
|
||||
"UPDATE video SET duration = 7200, pubdate = ? WHERE aid = 102",
|
||||
(int(day_bounds("2026-10-30")[0]),),
|
||||
))
|
||||
DASHBOARD_CACHE.clear()
|
||||
fresh = q.list_videos(sort="efficiency")
|
||||
assert fresh["items"] == []
|
||||
assert fresh["available"] is False
|
||||
assert "发布满 2 天" in fresh["reason"]
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
@@ -405,10 +417,11 @@ def test_about_payload():
|
||||
assert about["data_date"] == DATES[-1]
|
||||
assert about["snapshot_days"] == 3
|
||||
assert about["snapshot_first_date"] == DATES[0]
|
||||
assert about["fans_start_date"] == DATES[0]
|
||||
assert about["schema_version"] == 4
|
||||
assert about["analytics"] == {
|
||||
"min_duration_seconds": 600,
|
||||
"maturity_days": 14,
|
||||
"maturity_days": 2,
|
||||
"min_view_for_efficiency": 0,
|
||||
"shrink_minutes": None,
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user