diff --git a/tests/e2e_automation/features/batchTests/Steps/batch_common_steps.py b/tests/e2e_automation/features/batchTests/Steps/batch_common_steps.py index 0f37f4201..9cdbec51b 100644 --- a/tests/e2e_automation/features/batchTests/Steps/batch_common_steps.py +++ b/tests/e2e_automation/features/batchTests/Steps/batch_common_steps.py @@ -553,7 +553,7 @@ def mns_event_will_be_triggered_for_batch_record(context, action, valid_rows): null_nhs_rows = [row for row in valid_rows if _is_null_nhs_row(row)] positive_rows = [row for row in valid_rows if not _is_null_nhs_row(row)] - row_lookup = {str(row.NHS_NUMBER): row for row in positive_rows} + row_lookup = {(str(row.NHS_NUMBER), row.IMMS_ID_CLEAN): row for row in positive_rows} messages = read_messages_for_batch( context, @@ -563,15 +563,16 @@ def mns_event_will_be_triggered_for_batch_record(context, action, valid_rows): ) print(f"Read {len(messages)} {action} message(s) from SQS") - assert messages, f"Expected at least one {action} message but queue returned empty" for msg in messages: nhs = msg.subject + imms_id = msg.dataref.split("/")[-1] + key = (nhs, imms_id) - assert nhs in row_lookup, f"Received message for NHS {nhs} but it does not exist in valid_rows" + assert key in row_lookup, f"Message NHS {nhs} with IMMS_ID {imms_id} does not match any row" - row = row_lookup[nhs] + row = row_lookup[key] context.nhs_number = row.NHS_NUMBER context.gp_code = get_gp_code_by_nhs_number(row.NHS_NUMBER)