fix(file-summary): 调整工作流批次轮播展示
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import pytest
|
||||
from django.urls import reverse
|
||||
|
||||
from review_agent.models import Conversation, Message
|
||||
from review_agent.models import Conversation, FileSummaryBatch, Message, WorkflowNodeRun
|
||||
|
||||
|
||||
pytestmark = pytest.mark.django_db
|
||||
@@ -32,6 +32,53 @@ def test_workspace_renders_summary_panel(client, django_user_model):
|
||||
assert "自动汇总文件目录与页数" in content
|
||||
|
||||
|
||||
def test_workspace_renders_workflow_history_as_batch_carousel(client, django_user_model):
|
||||
user = django_user_model.objects.create_user(username="owner", password="pass")
|
||||
conversation = Conversation.objects.create(user=user, title="会话")
|
||||
older = FileSummaryBatch.objects.create(
|
||||
conversation=conversation,
|
||||
user=user,
|
||||
batch_no="FS-OLDER",
|
||||
status=FileSummaryBatch.Status.SUCCESS,
|
||||
)
|
||||
latest = FileSummaryBatch.objects.create(
|
||||
conversation=conversation,
|
||||
user=user,
|
||||
batch_no="FS-LATEST",
|
||||
status=FileSummaryBatch.Status.FAILED,
|
||||
error_message="解压失败",
|
||||
)
|
||||
WorkflowNodeRun.objects.create(
|
||||
batch=older,
|
||||
node_code="upload",
|
||||
node_name="附件固化",
|
||||
status=WorkflowNodeRun.Status.SUCCESS,
|
||||
progress=100,
|
||||
message="附件固化完成",
|
||||
)
|
||||
WorkflowNodeRun.objects.create(
|
||||
batch=latest,
|
||||
node_code="extract",
|
||||
node_name="压缩包解压",
|
||||
status=WorkflowNodeRun.Status.FAILED,
|
||||
progress=10,
|
||||
message="压缩包损坏",
|
||||
)
|
||||
client.force_login(user)
|
||||
|
||||
response = client.get(f"{reverse('home')}?conversation={conversation.pk}")
|
||||
|
||||
assert response.status_code == 200
|
||||
content = response.content.decode("utf-8")
|
||||
assert "workflow-batch-carousel" in content
|
||||
assert 'class="workflow-card active"' in content
|
||||
assert 'data-workflow-index="0"' in content
|
||||
assert 'data-workflow-action="prev"' in content
|
||||
assert 'data-workflow-action="next"' in content
|
||||
assert content.index("FS-LATEST") < content.index("FS-OLDER")
|
||||
assert "压缩包损坏" in content
|
||||
|
||||
|
||||
def test_frontend_prevents_long_message_overflow():
|
||||
css = open("static/css/login.css", encoding="utf-8").read()
|
||||
|
||||
@@ -88,3 +135,15 @@ def test_frontend_renders_workflow_error_messages():
|
||||
assert "workflow-error" in script
|
||||
assert "node.message" in script
|
||||
assert ".workflow-error" in css
|
||||
|
||||
|
||||
def test_frontend_renders_workflow_batches_as_carousel():
|
||||
script = open("static/js/app.js", encoding="utf-8").read()
|
||||
css = open("static/css/login.css", encoding="utf-8").read()
|
||||
|
||||
assert "selectWorkflowBatchIndex" in script
|
||||
assert "refreshWorkflowBatchCarousel" in script
|
||||
assert "data-workflow-action" in script
|
||||
assert "workflow-batch-carousel" in script
|
||||
assert ".workflow-batch-controls" in css
|
||||
assert ".workflow-card.active" in css
|
||||
|
||||
Reference in New Issue
Block a user