@@ -214,23 +214,45 @@ def test_call_handles_storage_exception(self, handler, mock_storage, mock_event)
214214 assert status == FAILURE
215215 assert ds is None
216216
217- def test_build_worklist_response_missing_optional_fields (self , handler ):
218- minimal_item = WorklistItem (
219- accession_number = "ACC001" ,
220- patient_id = "9876543210" ,
221- patient_name = "TEST^PATIENT" ,
222- patient_birth_date = "19800101" ,
223- scheduled_date = "20260107" ,
224- scheduled_time = "100000" ,
225- modality = "MG" ,
226- )
217+ def test_call_return_key_attributes_present (self , handler , mock_storage , mock_event , sample_worklist_item ):
218+ worklist_item = WorklistItem (** sample_worklist_item )
219+ mock_storage .find_worklist_items .return_value = [worklist_item ]
227220
228- ds = handler ._build_worklist_response ( minimal_item )
221+ results = list ( handler .call ( mock_event ) )
229222
230- # Required fields present
223+ assert len (results ) == 2
224+ status , ds = results [0 ]
225+ assert status == PENDING
231226 assert ds .PatientID == "9876543210"
232227 assert ds .AccessionNumber == "ACC001"
233- # Optional fields absent
234- assert not hasattr (ds , "PatientSex" )
235- assert not hasattr (ds , "StudyInstanceUID" )
236- assert not hasattr (ds , "StudyDescription" )
228+ assert ds .PatientName == "TEST^PATIENT"
229+ assert ds .PatientBirthDate == "19800101"
230+
231+ assert ds .PatientAddress is None
232+ assert ds .PatientComments is None
233+ assert ds .PatientWeight is None
234+ assert ds .PatientAge is None
235+ assert ds .PatientSex == "F"
236+
237+ assert ds .StudyDescription == "Bilateral Screening Mammogram"
238+ assert ds .StudyInstanceUID == "1.2.3.4.5" # gitleaks:allow
239+
240+ scheduled_procedure_step = ds .ScheduledProcedureStepSequence [0 ]
241+
242+ assert scheduled_procedure_step .Modality == "MG"
243+ assert scheduled_procedure_step .ScheduledProcedureStepStartDate == "20260107"
244+ assert scheduled_procedure_step .ScheduledProcedureStepStartTime == "100000"
245+ assert scheduled_procedure_step .ScheduledProcedureStepID == "PROC001"
246+ assert scheduled_procedure_step .ScheduledStationAETitle is None
247+ assert scheduled_procedure_step .ScheduledStationName is None
248+ assert scheduled_procedure_step .ScheduledProtocolCodeSequence [0 ].CodeValue is None
249+ assert scheduled_procedure_step .ScheduledProtocolCodeSequence [0 ].CodingSchemeDesignator is None
250+ assert scheduled_procedure_step .ScheduledProtocolCodeSequence [0 ].CodeMeaning is None
251+
252+ assert ds .ReasonForRequestedProcedureCodeSequence [0 ].CodeValue is None
253+ assert ds .ReasonForRequestedProcedureCodeSequence [0 ].CodingSchemeDesignator is None
254+ assert ds .ReasonForRequestedProcedureCodeSequence [0 ].CodeMeaning is None
255+
256+ assert ds .RequestedProcedureCodeSequence [0 ].CodeValue == "PROC001"
257+ assert ds .RequestedProcedureCodeSequence [0 ].CodingSchemeDesignator is None
258+ assert ds .RequestedProcedureCodeSequence [0 ].CodeMeaning is None
0 commit comments