feat(ai): 建立 PChome 銷售挑品清單
All checks were successful
CD Pipeline / deploy (push) Successful in 2m24s
All checks were successful
CD Pipeline / deploy (push) Successful in 2m24s
This commit is contained in:
@@ -128,6 +128,39 @@ def test_dashboard_v2_shows_pchome_competitor_pricing_and_links():
|
||||
assert "history_written" in scheduler_source
|
||||
|
||||
|
||||
def test_ai_product_pick_agent_uses_real_competitor_data_and_dashboard_action():
|
||||
feeder_source = (ROOT / "services/competitor_price_feeder.py").read_text(encoding="utf-8")
|
||||
agent_source = (ROOT / "services/ai_product_pick_agent.py").read_text(encoding="utf-8")
|
||||
route_source = (ROOT / "routes/ai_routes.py").read_text(encoding="utf-8")
|
||||
template = (ROOT / "templates/ai_intelligence.html").read_text(encoding="utf-8")
|
||||
|
||||
assert "MIN_MATCH_SCORE = 0.42" in feeder_source
|
||||
assert "MAX_SEARCH_TERMS" in feeder_source
|
||||
assert "_build_search_keywords" in feeder_source
|
||||
assert "_search_pchome_candidates" in feeder_source
|
||||
assert "crawler.search_products(keyword, limit=SEARCH_LIMIT)" in feeder_source
|
||||
|
||||
assert "generate_product_pick_list" in agent_source
|
||||
assert "competitor_prices" in agent_source
|
||||
assert "competitor_price_history" in agent_source
|
||||
assert "daily_sales_snapshot" in agent_source
|
||||
assert "ai_price_recommendations" in agent_source
|
||||
assert "'product_pick'" in agent_source
|
||||
assert "PChomeProductPickAgent" in agent_source
|
||||
assert "PChome 價格優勢" in agent_source
|
||||
|
||||
assert "@ai_bp.route('/api/ai/product-picks/generate', methods=['POST'])" in route_source
|
||||
assert "generate_product_pick_list(engine" in route_source
|
||||
assert "match_rate" in route_source
|
||||
assert "product_pick_count" in route_source
|
||||
|
||||
assert "產生挑品清單" in template
|
||||
assert "generatePickList" in template
|
||||
assert "/api/ai/product-picks/generate" in template
|
||||
assert "'product_pick':['bg-success'" in template
|
||||
assert "kpiMatchRate" in template
|
||||
|
||||
|
||||
def test_edm_dashboard_v2_is_production_default_and_uses_real_campaign_data():
|
||||
route_source = (ROOT / "routes/edm_routes.py").read_text(encoding="utf-8")
|
||||
template = (ROOT / "templates/edm_dashboard_v2.html").read_text(encoding="utf-8")
|
||||
|
||||
Reference in New Issue
Block a user