Carry the client_booking_reference on the Abri trigger message 🟥

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Daniel Roth 2026-07-24 15:37:22 +00:00
parent 09c2b93251
commit 92fc9052e5

View file

@ -115,6 +115,41 @@ def test_a_blank_surveyor_identifier_is_treated_as_missing(blank: str) -> None:
AbriTriggerRequest.model_validate(message)
def test_a_message_carries_the_client_booking_reference() -> None:
# The Job Number OpenHousing returns on a successful log; the consumer
# reads it to tell "job exists" (amend/abandon) from "never logged" (log).
message = _full_message()
message["client_booking_reference"] = "AD0226519"
# Act
request = AbriTriggerRequest.model_validate(message)
# Assert
assert request.client_booking_reference == "AD0226519"
@pytest.mark.parametrize("blank", ["", " "])
def test_a_blank_client_booking_reference_is_treated_as_missing(blank: str) -> None:
# A blank reference means no Job Number: the consumer must treat it as
# "never logged / reference lost", not "job exists".
message = _full_message()
message["client_booking_reference"] = blank
# Act
request = AbriTriggerRequest.model_validate(message)
# Assert
assert request.client_booking_reference is None
def test_a_message_without_a_client_booking_reference_defaults_to_none() -> None:
# Act
request = AbriTriggerRequest.model_validate(_full_message())
# Assert
assert request.client_booking_reference is None
def test_a_message_carries_the_outcome_for_the_abandonment_reason_mapping() -> None:
# Arrange
message = _full_message()