This commit is contained in:
@@ -51,6 +51,22 @@ def test_competitor_ppt_results_keep_pending_diagnostics_in_export():
|
||||
assert "(vc.pchome_price IS NULL)" in source
|
||||
|
||||
|
||||
def test_competitor_review_queue_is_canonical_unit_price_handoff():
|
||||
source = (ROOT / "services" / "competitor_intel_repository.py").read_text(encoding="utf-8")
|
||||
daily_template = (ROOT / "templates" / "daily_sales.html").read_text(encoding="utf-8")
|
||||
growth_template = (ROOT / "templates" / "growth_analysis.html").read_text(encoding="utf-8")
|
||||
|
||||
assert "def fetch_competitor_review_queue" in source
|
||||
assert "\"review_queue\": fetch_competitor_review_queue" in source
|
||||
assert "\"unit_comparable_count\"" in source
|
||||
assert "\"status_label\"" in source
|
||||
assert "\"action_label\"" in source
|
||||
assert "build_unit_price_comparison" in source
|
||||
assert "需單位價覆核" in daily_template
|
||||
assert "competitor_intel.review_queue" in daily_template
|
||||
assert "coverage.unit_comparable_count" in growth_template
|
||||
|
||||
|
||||
def test_competitor_ppt_prompt_uses_neutral_ewooc_viewpoint():
|
||||
source = (ROOT / "routes" / "openclaw_bot_routes.py").read_text(encoding="utf-8")
|
||||
|
||||
@@ -58,14 +74,17 @@ def test_competitor_ppt_prompt_uses_neutral_ewooc_viewpoint():
|
||||
assert "待補資料不可當成成功配對" in source
|
||||
assert "高信心比對" in source
|
||||
assert "待補身份/價格" in source
|
||||
assert "需單位價比較" in source
|
||||
assert "單位價覆核樣本" in source
|
||||
assert "我方 = PChome" not in source
|
||||
assert "請以 PChome 視角" not in source
|
||||
|
||||
|
||||
def test_top_competitor_risks_reads_latest_momo_price_after_valid_competitor_filter():
|
||||
source = (ROOT / "services" / "competitor_intel_repository.py").read_text(encoding="utf-8")
|
||||
risk_source = source.split("def _fetch_top_competitor_risks_uncached", 1)[1].split("def fetch_competitor_review_queue", 1)[0]
|
||||
|
||||
assert "FROM valid_competitor vc" in source
|
||||
assert "JOIN LATERAL" in source
|
||||
assert "WHERE pr.product_id = p.id" in source
|
||||
assert "ROW_NUMBER() OVER (PARTITION BY p.id" not in source.split("def _fetch_top_competitor_risks_uncached", 1)[1].split("def fetch_competitor_comparison_results", 1)[0]
|
||||
assert "FROM valid_competitor vc" in risk_source
|
||||
assert "JOIN LATERAL" in risk_source
|
||||
assert "WHERE pr.product_id = p.id" in risk_source
|
||||
assert "ROW_NUMBER() OVER (PARTITION BY p.id" not in risk_source
|
||||
|
||||
Reference in New Issue
Block a user