Files
zyt/app/tests/test_ai_image_text_receipt.py
2026-10-23 13:57:11 +08:00

45 lines
2.0 KiB
Python

"""Keep transport, local text recognition and model observation distinct."""
import pytest
from doctor_workstation.ui.dialogs.ai_consult import _transfer_description
@pytest.mark.parametrize("status, expected", [
("processed", "附带本地识别文字,供模型核对"),
("unreadable", "未取得可用识别文字,保留原图分析"),
("unavailable", "本地文字识别未完成,保留原图分析"),
("withheld", "本地识别文字超出本轮容量,未附加;保留原图分析"),
])
def test_image_text_status_does_not_claim_model_reading(status, expected):
text = _transfer_description({
"items": [{"kind": "image", "label": "图片附件1", "status": "submitted",
"text_check_status": status, "raw_text": "PRIVATE_OCR_TEXT"}],
"attachment_transfer": "uploaded_files", "submitted_attachment_count": 1,
}, "done")
assert expected in text
assert "已上传并提交" in text
assert "模型实际读取进度不可获取" in text
assert "PRIVATE_OCR_TEXT" not in text
def test_missing_source_observation_is_visible_even_after_successful_upload():
text = _transfer_description({
"items": [{"kind": "image", "status": "submitted", "evidence_status": "unverified"}],
"attachment_mode": "batch_evidence", "submitted_attachment_count": 1,
}, "done")
assert "逐项观察未核实" in text
assert "已向模型说明资料缺口" in text
assert "最终单次请求未重传全部原始附件" in text
def test_extracted_source_not_synthesized_is_not_presented_as_complete_analysis():
text = _transfer_description({
"items": [{"kind": "image", "status": "submitted", "evidence_status": "unverified",
"evidence_reason": "context_budget"}],
"attachment_mode": "batch_evidence", "submitted_attachment_count": 1,
"attachment_transfer": "uploaded_files",
}, "done")
assert "本轮综合容量不足,未可靠纳入结论" in text
assert "已上传并提交" in text