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