외부 임상 검토 원장을 보강

This commit is contained in:
Yun Chan 2026-08-28 21:01:57 +09:00
parent dd71cb9710
commit 3b540a881f
8 changed files with 310 additions and 50 deletions

View file

@ -56,6 +56,7 @@ class ClientReplyQualityGateTest(unittest.TestCase):
required_approval_fields = {
"reviewer",
"organization",
"reviewer_role_or_qualification",
"reviewed_at",
"decision",
"notes",
@ -68,17 +69,38 @@ class ClientReplyQualityGateTest(unittest.TestCase):
self.assertEqual(set(approval), required_approval_fields)
self.assertEqual(approval["decision"], status_decisions[status])
assessments = [case["reviewer_assessment"] for case in case_set["cases"]]
required_assessment_fields = {
"decision",
"rationale",
"findings_and_required_changes",
"re_review",
"reviewed_at",
}
self.assertTrue(
all(set(assessment) == required_assessment_fields for assessment in assessments),
)
required_youth_response_fields = {
"guardian_notification",
"means_restriction",
"risk_disposition",
"follow_up_48_72h",
"documentation",
"safeguarding",
}
youth_responses = case_set["youth_review_responses"]
self.assertEqual(set(youth_responses), required_youth_response_fields)
if status == "pending_external_review":
self.assertTrue(all(value is None for value in approval.values()))
self.assertTrue(
all(value is None for assessment in assessments for value in assessment.values()),
)
self.assertTrue(all(value is None for value in youth_responses.values()))
else:
completed_fields = required_approval_fields - {"notes"}
self.assertTrue(all(approval[field] for field in completed_fields))
self.assertTrue(all(assessment["decision"] for assessment in assessments))
self.assertTrue(all(assessment["rationale"] for assessment in assessments))
self.assertTrue(all(assessment["reviewed_at"] for assessment in assessments))
self.assertTrue(all(approval[field] for field in required_approval_fields))
self.assertTrue(
all(value for assessment in assessments for value in assessment.values()),
)
self.assertTrue(all(value for value in youth_responses.values()))
source_ids = {source["source_id"] for source in manifest["sources"]}
self.assertEqual(