32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
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)
|