40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from pathlib import Path
|
||
|
||
from review_agent.regulatory_review.services.text_extract import extract_text
|
||
|
||
|
||
def test_extract_text_reads_plain_text(tmp_path):
|
||
path = tmp_path / "说明书.txt"
|
||
path.write_text("产品名称:甲胎蛋白检测试剂盒\n储存条件:2-8℃", encoding="utf-8")
|
||
|
||
result = extract_text(path)
|
||
|
||
assert "甲胎蛋白" in result.text
|
||
assert result.status == "success"
|
||
assert result.content_hash
|
||
|
||
|
||
def test_extract_text_keeps_wrapped_product_name(tmp_path):
|
||
path = tmp_path / "申请表.txt"
|
||
path.write_text(
|
||
"产品名称:呼吸道合胞病毒、肺炎支原体核酸检测试剂盒\n"
|
||
"(荧光PCR法)\n"
|
||
"型号规格:24人份/盒\n",
|
||
encoding="utf-8",
|
||
)
|
||
|
||
result = extract_text(path)
|
||
|
||
assert result.field_candidates["产品名称"] == "呼吸道合胞病毒、肺炎支原体核酸检测试剂盒 (荧光PCR法)"
|
||
assert result.field_candidates["型号规格"] == "24人份/盒"
|
||
|
||
|
||
def test_extract_text_reports_unsupported_file(tmp_path):
|
||
path = tmp_path / "image.png"
|
||
path.write_bytes(b"png")
|
||
|
||
result = extract_text(path)
|
||
|
||
assert result.status == "unsupported"
|
||
assert result.text == ""
|