import pytest from django.urls import reverse from review_agent.models import ApplicationFormFillBatch, Conversation, FileSummaryBatch, WorkflowNodeRun pytestmark = pytest.mark.django_db def test_workspace_renders_application_form_fill_workflow_card(client, django_user_model): user = django_user_model.objects.create_user(username="owner", password="pass") conversation = Conversation.objects.create(user=user, title="会话") summary = FileSummaryBatch.objects.create(conversation=conversation, user=user, batch_no="FS-CARD") batch = ApplicationFormFillBatch.objects.create( conversation=conversation, user=user, source_summary_batch=summary, batch_no="AFF-CARD", status=ApplicationFormFillBatch.Status.PARTIAL_SUCCESS, selected_templates=["registration_certificate"], risk_notes=[{"type": "pdf_pending"}], ) WorkflowNodeRun.objects.create( workflow_type="application_form_fill", workflow_batch_id=batch.pk, node_group="form_fill", node_code="word_fill", node_name="填写 Word", status=WorkflowNodeRun.Status.SUCCESS, progress=100, ) client.force_login(user) response = client.get(f"{reverse('home')}?conversation={conversation.pk}") content = response.content.decode("utf-8") assert "AFF-CARD" in content assert 'data-workflow-type="application_form_fill"' in content assert "填写 Word" in content assert "data-application-form-fill-status-url-template" in content def test_frontend_selects_application_form_fill_status_url_and_terminal_status(): script = open("static/js/app.js", encoding="utf-8").read() assert 'workflow_type === "application_form_fill"' in script assert "data-application-form-fill-status-url-template" in script assert 'status === "partial_success"' in script