feat: 重构处理历史与通知留痕追踪
This commit is contained in:
@@ -2,6 +2,7 @@ from django.urls import reverse
|
||||
|
||||
from agent_core.results import AgentResult
|
||||
from apps.audit.models import AgentAuditLog
|
||||
from apps.audit.models import NotificationRecord
|
||||
from apps.chat.models import Conversation
|
||||
from apps.documents.models import SubmissionBatch, UploadedDocument
|
||||
|
||||
@@ -126,3 +127,45 @@ def test_chat_renders_three_column_workspace_and_node_results(client, db):
|
||||
assert "上传区" in content
|
||||
assert "资料包导入 / 已完成" in content
|
||||
assert "目录汇总 / 处理中" in content
|
||||
|
||||
|
||||
def test_chat_execution_creates_notification_record_from_agent_result(client, db, monkeypatch):
|
||||
batch, conversation = _create_conversation_with_batch()
|
||||
UploadedDocument.objects.create(
|
||||
batch=batch,
|
||||
scenario_id="document_review",
|
||||
original_name="说明书.md",
|
||||
file_type="md",
|
||||
size=1,
|
||||
status=UploadedDocument.STATUS_INDEXED,
|
||||
)
|
||||
|
||||
monkeypatch.setattr(
|
||||
"apps.chat.views.run_agent",
|
||||
lambda *args, **kwargs: AgentResult(
|
||||
answer="执行完成",
|
||||
status="success",
|
||||
notification_payload={
|
||||
"batch_id": batch.batch_id,
|
||||
"conversation_id": conversation.conversation_id,
|
||||
"product_name": batch.product_name,
|
||||
"notify_reason": "task_completed",
|
||||
"owners": [
|
||||
{
|
||||
"owner_role": "注册资料负责人",
|
||||
"feishu_user_id": "ou_demo_1",
|
||||
}
|
||||
],
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
response = client.post(
|
||||
reverse("chat:detail", args=[conversation.conversation_id]),
|
||||
{"message": "执行审核"},
|
||||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
record = NotificationRecord.objects.get()
|
||||
assert record.notify_reason == "task_completed"
|
||||
assert record.batch_id == batch.batch_id
|
||||
|
||||
Reference in New Issue
Block a user