V10.433 improve competitor review diagnostics
This commit is contained in:
@@ -120,6 +120,43 @@ def test_competitor_review_queue_is_canonical_unit_price_handoff():
|
||||
assert "coverage.manual_unit_price_count" in growth_template
|
||||
|
||||
|
||||
def test_competitor_review_reasons_prefer_json_payload_labels():
|
||||
from services.competitor_intel_repository import _format_competitor_review_item
|
||||
|
||||
item = _format_competitor_review_item({
|
||||
"sku": "SKU-1",
|
||||
"name": "M.A.C Macximal 柔霧唇膏",
|
||||
"momo_price": 990,
|
||||
"attempt_status": "identity_veto",
|
||||
"candidate_count": 1,
|
||||
"best_competitor_product_id": "DABC123",
|
||||
"best_competitor_product_name": "MAC Macximal 緞光唇膏",
|
||||
"best_competitor_price": 880,
|
||||
"best_match_score": 0.32,
|
||||
"match_diagnostic_json": {
|
||||
"match_type": "no_match",
|
||||
"price_basis": "none",
|
||||
"alert_tier": "suppress",
|
||||
"reasons": [
|
||||
"makeup_finish_conflict",
|
||||
"nail_tool_function_conflict",
|
||||
"schick_razor_line_conflict",
|
||||
],
|
||||
},
|
||||
"error_message": "",
|
||||
})
|
||||
|
||||
assert item["match_type_label"] == "非同款"
|
||||
assert item["price_basis_label"] == "不可比"
|
||||
assert item["alert_tier_label"] == "不告警"
|
||||
assert item["diagnostic_reason_text"] == "妝效質地不同、工具功能不同、除毛刀品線不同"
|
||||
assert [reason["code"] for reason in item["diagnostic_reasons"]] == [
|
||||
"makeup_finish_conflict",
|
||||
"nail_tool_function_conflict",
|
||||
"schick_razor_line_conflict",
|
||||
]
|
||||
|
||||
|
||||
def test_competitor_ppt_prompt_uses_neutral_ewooc_viewpoint():
|
||||
source = (ROOT / "routes" / "openclaw_bot_routes.py").read_text(encoding="utf-8")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user