docs(uiux): UIUX 设计方案大改 + 5 份作业指导书对齐 + 开发任务文档
- UIUX 文档:填充 19 个缺口(多主体画像/健康度/AI+看板/增长域/洞察域/创始人端/OODA/助推/商密) - UIUX 文档:插入 6 个新章节(十四~十九),旧章节重编号为二十~三十一,更新目录和交叉引用 - 作业指导书 x5:导航改为 6 域分组,新增 Context Bar/工作模式/Insight Rail/决策线程/多工作区等 UI 概念 - 新建 docs/2-task-uiux.md:50 个代码落地开发任务,按 P0-P6 分优先级 + 8 Sprint 规划 - 后端/前端:大量新增模型、路由、组件(来自之前 Phase 开发)
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
"""T3.8 Peer Learning Circles 测试。"""
|
||||
|
||||
import pytest
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
||||
class TestPeerCirclesList:
|
||||
"""Peer Learning Circle 列表接口测试。"""
|
||||
|
||||
def test_list_circles_empty(self, client: TestClient, auth_headers: dict):
|
||||
"""无 Circle 时应返回空列表。"""
|
||||
resp = client.get("/api/v1/peer-circles", headers=auth_headers)
|
||||
assert resp.status_code == 200
|
||||
assert isinstance(resp.json()["data"], list)
|
||||
|
||||
def test_list_circles_no_auth(self, client: TestClient):
|
||||
"""未认证应返回 401。"""
|
||||
resp = client.get("/api/v1/peer-circles")
|
||||
assert resp.status_code == 401
|
||||
|
||||
|
||||
class TestPeerCircleMatch:
|
||||
"""AI 匹配创始人接口测试。"""
|
||||
|
||||
def test_match_success(self, client: TestClient, auth_headers: dict):
|
||||
"""AI 匹配创始人。"""
|
||||
resp = client.post(
|
||||
"/api/v1/peer-circles/match",
|
||||
json={"founders_context": "3 位创始人,分别做 AI 教育、AI 医疗、AI 金融"},
|
||||
headers=auth_headers,
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
assert isinstance(resp.json()["data"], dict)
|
||||
|
||||
def test_match_no_auth(self, client: TestClient):
|
||||
"""未认证应返回 401。"""
|
||||
resp = client.post("/api/v1/peer-circles/match", json={})
|
||||
assert resp.status_code == 401
|
||||
|
||||
def test_match_empty_context(self, client: TestClient, auth_headers: dict):
|
||||
"""空上下文应正常返回。"""
|
||||
resp = client.post(
|
||||
"/api/v1/peer-circles/match",
|
||||
json={"founders_context": ""},
|
||||
headers=auth_headers,
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
Reference in New Issue
Block a user