from fastapi_modules.fastapi_leaudit.domian.vo.documentVo import DocumentDetailVO from fastapi_modules.fastapi_leaudit.domian.vo.pageQualityVo import PageQualitySummaryVO from fastapi_modules.fastapi_leaudit.services.impl.documentServiceImpl import DocumentServiceImpl def test_review_document_payload_includes_page_quality_summary(): detail = DocumentDetailVO( documentId=71, internalDocumentNo=10071, versionGroupKey="vg-71", versionNo=1, rootVersionId=71, previousVersionId=None, typeId=10, typeCode="case", typeName="行政许可", groupId=None, groupName=None, region="梅州", tenantCode="MEIZHOU", tenantName="梅州", normalizedName="图片模糊测试", fileId=7001, fileName="(图片模糊)第71号.pdf", fileExt="pdf", mimeType="application/pdf", fileSize=1024, ossUrl="/bucket/documents/71.pdf", processingStatus="completed", currentRunId=9001, runStatus="completed", resultStatus="warning", latestErrorCode=None, latestErrorMessage=None, totalScore=88, passedCount=2, failedCount=1, skippedCount=0, documentNumber="71", auditStatus=0, isTestDocument=False, pageQualityRunId=501, pageQualityRunStatus="completed", pageQualitySummaryStatus="review", pageQualityIssueCount=2, pageQualityWarningText="发现疑似模糊页", updatedAt="2026-05-23T10:00:00", hasHistory=False, totalVersions=1, historyVersions=[], remark=None, pageCount=10, pageQualitySummary=PageQualitySummaryVO( runId=501, runStatus="completed", summaryStatus="review", totalPages=10, reviewPageCount=2, rejectPageCount=0, warningText="发现疑似模糊页", pages=[3, 7], finishedAt="2026-05-23T10:01:00", ), attachments=[], ) payload = DocumentServiceImpl._buildReviewPageQualityPayload( detail, [ {"pageNum": 7, "qualityStatus": "review", "qualityScore": 0.64, "reasonText": "图片略模糊"}, {"pageNum": 3, "qualityStatus": "reject", "qualityScore": 0.25, "reasonText": "图片严重模糊"}, ], ) assert payload == { "pageQualityRunId": 501, "pageQualityRunStatus": "completed", "pageQualitySummaryStatus": "review", "pageQualityIssueCount": 2, "pageQualityWarningText": "发现疑似模糊页", "pageQualitySummary": { "runId": 501, "runStatus": "completed", "summaryStatus": "review", "totalPages": 10, "reviewPageCount": 2, "rejectPageCount": 0, "warningText": "发现疑似模糊页", "pages": [3, 7], "finishedAt": "2026-05-23T10:01:00", }, "pageQualityResults": [ {"pageNum": 3, "qualityStatus": "reject", "qualityScore": 0.25, "reasonText": "图片严重模糊"}, {"pageNum": 7, "qualityStatus": "review", "qualityScore": 0.64, "reasonText": "图片略模糊"}, ], }