refactor: 下沉资料包列表上下文到 documents 服务层

This commit is contained in:
2026-06-04 04:36:41 +08:00
parent a49524fd93
commit 80dc10ce6d
3 changed files with 82 additions and 47 deletions

View File

@@ -9,7 +9,12 @@ from zipfile import ZipFile
from apps.documents.forms import DocumentUploadForm
from apps.documents.models import ExportedDocument, SubmissionBatch, UploadedDocument
from apps.documents.services import extract_text, import_submission_batch, index_document
from apps.documents.services import (
build_document_list_context,
extract_text,
import_submission_batch,
index_document,
)
from apps.chat.models import Conversation
@@ -246,6 +251,34 @@ def test_document_list_supports_batch_id_search(client, db):
assert "SUB-20260604-001" not in content
def test_build_document_list_context_filters_batches_by_keyword(db):
target_batch = SubmissionBatch.objects.create(
batch_id="SUB-20260604-101",
product_name="产品A",
workflow_type="registration",
conversation_id="conv-101",
file_count=2,
page_count=12,
import_status="completed",
)
SubmissionBatch.objects.create(
batch_id="SUB-20260604-102",
product_name="产品B",
workflow_type="registration",
conversation_id="conv-102",
file_count=3,
page_count=20,
import_status="review_required",
)
context = build_document_list_context(keyword="产品A")
assert context["keyword"] == "产品A"
assert len(context["batches"]) == 1
assert context["batches"][0].id == target_batch.id
assert context["status_counts"]["total"] == 1
def test_import_submission_batch_marks_manual_review_when_product_names_conflict(db):
files = [
SimpleUploadedFile(