from django.test import TestCase from access_core.curation.models import ClinicalDocument, DataCurationTask from access_core.identity.models import User from access_core.intake.models import IntakeRecord, RawIngestionRecord class ClinicalDocumentTest(TestCase): def test_create_document(self): user = User.objects.create(email="uploader@example.com", full_name="Uploader") intake = IntakeRecord.objects.create( external_form_id="synth-doc-001", first_name="Doc", last_name="Patient", dob="1960-01-01", sex="female", is_synthetic=True, ) doc = ClinicalDocument.objects.create( intake_record=intake, document_type="consent_form", file_name="synthetic_consent.pdf", storage_path="s3://dev-bucket/synthetic/consent.pdf", mime_type="application/pdf", file_size_bytes=12345, upload_date="2026-07-01", uploaded_by=user, is_encrypted=True, ) self.assertTrue(doc.is_encrypted) self.assertEqual(doc.document_type, "consent_form") class DataCurationTaskTest(TestCase): def test_create_task(self): user = User.objects.create(email="curator@example.com", full_name="Curator") raw = RawIngestionRecord.objects.create( source_system="healthie", source_record_id="synth-cur-001", raw_payload={"test": True}, ) task = DataCurationTask.objects.create( source_record=raw, assigned_to=user, task_type="lab_extraction", status="pending", ) self.assertEqual(task.task_type, "lab_extraction") self.assertEqual(task.status, "pending")