feat: 优化业务界面并修复助手意图回复
This commit is contained in:
@@ -351,6 +351,28 @@ class ProjectAssistantTests(unittest.TestCase):
|
||||
self.assertEqual(returned["next_action"], "查看退回要求并补充材料")
|
||||
self.assertTrue(returned["returned_at"])
|
||||
|
||||
def test_conversation_read_questions_receive_distinct_answers(self):
|
||||
env = {"XINGBANG_DEMO_ROLE_LOGIN": "1", "XINGBANG_DEMO_PROJECTS": "DEMO-A,DEMO-B,DEMO-C"}
|
||||
headers = {"X-Xingbang-Demo-Role": "manager"}
|
||||
with patch.dict(os.environ, env):
|
||||
status = self.post("/commands", {"project_id": "DEMO-B", "message": "这个项目到哪一步了?"}, headers=headers)
|
||||
next_step = self.post("/commands", {"project_id": "DEMO-B", "message": "我接下来要做什么?"}, headers=headers)
|
||||
issues = self.post("/commands", {"project_id": "DEMO-B", "message": "现在有哪些风险?"}, headers=headers)
|
||||
materials = self.post("/commands", {"project_id": "DEMO-B", "message": "还缺什么材料?"}, headers=headers)
|
||||
unknown = self.post("/commands", {"project_id": "DEMO-B", "message": "请详细分析这个客户"}, headers=headers)
|
||||
for response in (status, next_step, issues, materials, unknown):
|
||||
self.assertEqual(response.status_code, 200, response.text)
|
||||
self.assertEqual(status.json()["intent"], "project_status")
|
||||
self.assertIn("当前处于", status.json()["message"])
|
||||
self.assertEqual(next_step.json()["intent"], "next_step")
|
||||
self.assertIn("下一步", next_step.json()["message"])
|
||||
self.assertNotIn("lease.duplicate_count完整性", next_step.json()["message"])
|
||||
self.assertNotEqual(status.json()["message"], next_step.json()["message"])
|
||||
self.assertEqual(issues.json()["intent"], "project_issues")
|
||||
self.assertIn("未闭环问题", issues.json()["message"])
|
||||
self.assertEqual(materials.json()["intent"], "materials")
|
||||
self.assertEqual(unknown.json()["intent"], "clarify")
|
||||
|
||||
def test_full_review_topics_gate_approval_and_freeze_trace(self):
|
||||
pre_run = self.run_project("DEMO-A")
|
||||
report = self.post("/projects/DEMO-A/reports", {"run_id": pre_run["id"]}).json()
|
||||
|
||||
Reference in New Issue
Block a user