"""T3.12 约束点识别 + 鸿沟诊断测试。""" import pytest from fastapi.testclient import TestClient class TestConstraintAnalysis: """TOC 约束点识别接口测试。""" def test_analyze_constraints_success(self, client: TestClient, auth_headers: dict): """AI 识别约束点。""" resp = client.post( "/api/v1/advanced-analysis/constraints", json={"company_data": "SaaS 公司,月增长 5%,但客户流失率 15%,获客成本持续上升"}, headers=auth_headers, ) assert resp.status_code == 200 assert isinstance(resp.json()["data"], dict) def test_analyze_constraints_no_auth(self, client: TestClient): """未认证应返回 401。""" resp = client.post("/api/v1/advanced-analysis/constraints", json={}) assert resp.status_code == 401 def test_analyze_constraints_empty(self, client: TestClient, auth_headers: dict): """空输入应正常返回。""" resp = client.post( "/api/v1/advanced-analysis/constraints", json={"company_data": ""}, headers=auth_headers, ) assert resp.status_code == 200 class TestChasmDiagnosis: """鸿沟诊断接口测试。""" def test_diagnose_chasm_success(self, client: TestClient, auth_headers: dict): """AI 鸿沟诊断。""" resp = client.post( "/api/v1/advanced-analysis/chasm", json={"company_data": "产品已有 50 个早期采用者,但难以扩展到主流市场"}, headers=auth_headers, ) assert resp.status_code == 200 assert isinstance(resp.json()["data"], dict) def test_diagnose_chasm_no_auth(self, client: TestClient): """未认证应返回 401。""" resp = client.post("/api/v1/advanced-analysis/chasm", json={}) assert resp.status_code == 401 def test_diagnose_chasm_empty(self, client: TestClient, auth_headers: dict): """空输入应正常返回。""" resp = client.post( "/api/v1/advanced-analysis/chasm", json={"company_data": ""}, headers=auth_headers, ) assert resp.status_code == 200