diff --git a/tests/test_chat.py b/tests/test_chat.py index f1bd023..35daa87 100644 --- a/tests/test_chat.py +++ b/tests/test_chat.py @@ -475,6 +475,45 @@ def test_chat_page_shows_top_context_and_recommended_prompts(client, db): assert "请给出当前资料包的高风险项、责任人和整改建议" in content +def test_chat_page_explicitly_shows_batch_product_stage_and_export_context(client, db): + batch, conversation = _create_conversation_with_batch() + conversation.task_status = "processing" + conversation.node_results = [ + {"label": "资料包导入", "status": "已完成"}, + {"label": "目录汇总", "status": "已完成"}, + {"label": "法规完整性检查", "status": "已完成"}, + {"label": "字段抽取", "status": "已完成"}, + {"label": "一致性核查", "status": "待复核"}, + {"label": "风险预警", "status": "已阻断"}, + {"label": "Word 回填导出", "status": "待复核"}, + {"label": "飞书通知", "status": "待处理"}, + ] + conversation.latest_summary = { + "structured_output": { + "can_export_formally": False, + } + } + conversation.save(update_fields=["task_status", "node_results", "latest_summary", "updated_at"]) + + response = client.get(reverse("chat:detail", args=[conversation.conversation_id])) + + content = response.content.decode("utf-8") + assert response.status_code == 200 + assert f"批次:{batch.batch_id}" in content + assert f"产品:{batch.product_name}" in content + assert "阶段:处理中" in content + assert "批次编号" in content + assert batch.batch_id in content + assert "产品名称" in content + assert batch.product_name in content + assert "当前审核阶段" in content + assert "处理中" in content + assert "当前最高风险等级" in content + assert ">高<" in content + assert "是否允许正式导出" in content + assert ">否<" in content + + def test_chat_page_shows_overview_card_from_conversation_summary(client, db): batch, conversation = _create_conversation_with_batch() conversation.latest_summary = {