@@ -31,24 +31,39 @@ def search_document_reference(nhs_number, client_cert_path=None, client_key_path
3131
3232
3333def test_search_patient_details (test_data ):
34- create_and_store_pdm_record (test_data )
34+ created_record = create_and_store_pdm_record (test_data )
35+ expected_record_id = created_record ["id" ]
3536
3637 response = search_document_reference ("9912003071" )
3738 assert response .status_code == 200
3839
3940 bundle = response .json ()
40- assert "entry" in bundle
41+ entries = bundle .get ("entry" , [])
42+ assert entries
43+
44+ # Find the entry with the matching record_id
45+ matching_entry = next (
46+ (
47+ e
48+ for e in entries
49+ if e ["resource" ].get ("id" ) == f"{ PDM_SNOMED } ~{ expected_record_id } "
50+ ),
51+ None ,
52+ )
53+ assert matching_entry
4154
42- attachment_url = bundle [ "entry" ][ 0 ] ["resource" ]["content" ][0 ]["attachment" ]["url" ]
55+ attachment_url = matching_entry ["resource" ]["content" ][0 ]["attachment" ]["url" ]
4356 assert (
4457 f"https://{ APIM_ENDPOINT } /national-document-repository/FHIR/R4/DocumentReference/{ PDM_SNOMED } ~"
4558 in attachment_url
4659 )
4760
4861
4962def test_multiple_cancelled_search_patient_details (test_data ):
50- create_and_store_pdm_record (test_data , doc_status = "cancelled" )
51- create_and_store_pdm_record (test_data , doc_status = "cancelled" )
63+ record_ids = [
64+ create_and_store_pdm_record (test_data , doc_status = "cancelled" )["id" ]
65+ for _ in range (2 )
66+ ]
5267
5368 response = search_document_reference ("9912003071" )
5469 assert response .status_code == 200
@@ -57,10 +72,18 @@ def test_multiple_cancelled_search_patient_details(test_data):
5772 entries = bundle .get ("entry" , [])
5873 assert len (entries ) >= 2
5974
60- # Assert that all entries have status "cancelled"
61- for entry in entries :
62- resource = entry .get ("resource" , {})
63- assert resource .get ("docStatus" ) == "cancelled"
75+ # Validate all created records exist and have status cancelled
76+ for record_id in record_ids :
77+ entry = next (
78+ (
79+ e
80+ for e in entries
81+ if e ["resource" ].get ("id" ) == f"{ PDM_SNOMED } ~{ record_id } "
82+ ),
83+ None ,
84+ )
85+ assert entry
86+ assert entry ["resource" ].get ("docStatus" ) == "cancelled"
6487
6588
6689@pytest .mark .parametrize (
0 commit comments