diff --git a/tests/abri/abri_relay_amendoptiappt_relayerror_response.xml b/tests/abri/abri_relay_amendoptiappt_relayerror_response.xml new file mode 100644 index 000000000..225563172 --- /dev/null +++ b/tests/abri/abri_relay_amendoptiappt_relayerror_response.xml @@ -0,0 +1,6 @@ + + + false + RelayError + Job_no 1019905 is invalid. Job not found. + diff --git a/tests/infrastructure/abri/test_abri_client.py b/tests/infrastructure/abri/test_abri_client.py index ed6b4cecf..ab8f3d87c 100644 --- a/tests/infrastructure/abri/test_abri_client.py +++ b/tests/infrastructure/abri/test_abri_client.py @@ -272,3 +272,24 @@ def test_amend_job_omits_the_resource_parameter_when_no_surveyor_is_provided( for parameter in ET.fromstring(sent_body).findall(".//Parameters") ] assert "resource" not in sent_attributes + + +# --- amend_job: rejection --- + + +def test_amend_job_returns_rejection_with_openhousing_error_code_and_message_verbatim( + client: AbriClient, mock_session: MagicMock +) -> None: + # Arrange + mock_session.post.return_value.content = _load_fixture( + "abri_relay_amendoptiappt_relayerror_response.xml" + ) + + # Act + result = client.amend_job(_spec_example_amend_request()) + + # Assert + assert result == AbriRequestRejected( + code="RelayError", + message="Job_no 1019905 is invalid. Job not found.", + )