test(regulatory-info-package): 覆盖材料包主链路
This commit is contained in:
31
tests/test_regulatory_info_package_package_generate.py
Normal file
31
tests/test_regulatory_info_package_package_generate.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import zipfile
|
||||
|
||||
import pytest
|
||||
|
||||
from review_agent.models import Conversation, RegulatoryInfoPackageBatch
|
||||
from review_agent.regulatory_info_package.services.field_merge import merge_fields
|
||||
from review_agent.regulatory_info_package.services.package_generate import generate_package_documents
|
||||
from review_agent.regulatory_info_package.services.template_config import load_template_config
|
||||
|
||||
|
||||
pytestmark = pytest.mark.django_db
|
||||
|
||||
|
||||
def test_generate_package_documents_creates_seven_results(django_user_model, tmp_path):
|
||||
user = django_user_model.objects.create_user(username="owner", password="pass")
|
||||
conversation = Conversation.objects.create(user=user, title="会话")
|
||||
batch = RegulatoryInfoPackageBatch.objects.create(
|
||||
conversation=conversation,
|
||||
user=user,
|
||||
batch_no="RIP-20260610154000-abcdef",
|
||||
work_dir=str(tmp_path),
|
||||
)
|
||||
merged, _summary = merge_fields({"product_name": {"value": "测试产品", "label": "产品名称"}}, {})
|
||||
|
||||
results = generate_package_documents(batch, load_template_config(), merged)
|
||||
|
||||
assert len(results) == 7
|
||||
assert all(result.status in {"success", "fallback_success"} for result in results), [
|
||||
(result.template_code, result.status, result.error_message) for result in results
|
||||
]
|
||||
assert all(result.path for result in results)
|
||||
Reference in New Issue
Block a user