Files
DEMO-AGENT/tests/test_regulatory_completeness.py

45 lines
1.6 KiB
Python

import pytest
from review_agent.models import Conversation, FileSummaryBatch, FileSummaryItem
from review_agent.regulatory_review.services.completeness_check import run_completeness_check
from review_agent.regulatory_review.services.rule_loader import load_rule_file
pytestmark = pytest.mark.django_db
def test_completeness_check_matches_existing_files_and_reports_missing(django_user_model):
user = django_user_model.objects.create_user(username="owner", password="pass")
conversation = Conversation.objects.create(user=user, title="会话")
batch = FileSummaryBatch.objects.create(
conversation=conversation,
user=user,
batch_no="FS-CHECK",
status=FileSummaryBatch.Status.SUCCESS,
)
FileSummaryItem.objects.create(
batch=batch,
file_index=1,
file_name="产品技术要求.docx",
file_type="docx",
relative_path="产品技术要求.docx",
storage_path="x/product.docx",
)
FileSummaryItem.objects.create(
batch=batch,
file_index=2,
file_name="说明书.docx",
file_type="docx",
relative_path="说明书.docx",
storage_path="x/ifu.docx",
)
findings = run_completeness_check(batch, load_rule_file())
titles = [finding.title for finding in findings]
assert "缺少注册检验报告" in titles
assert "缺少产品技术要求" not in titles
missing = next(finding for finding in findings if finding.rule_code == "registration_test_report")
assert missing.severity == "blocking"
assert missing.category == "completeness"