Accept an abandon_job flow carrying the deal outcome 🟥

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Daniel Roth 2026-07-07 15:42:02 +00:00
parent ae1b1a9776
commit 8cc6ee9f76

View file

@ -83,6 +83,33 @@ def test_a_message_without_a_confirmed_time_parses_for_logging() -> None:
assert request.confirmed_survey_time is None
def test_a_message_naming_abandon_job_validates_with_only_the_deal_id() -> None:
# Arrange: abandonment needs no deal field beyond the deal id.
message = {
"hubspot_deal_id": "9876543210",
"flows": ["abandon_job"],
}
# Act
request = AbriTriggerRequest.model_validate(message)
# Assert
assert request.flows == ["abandon_job"]
def test_a_message_carries_the_outcome_for_the_abandonment_reason_mapping() -> None:
# Arrange
message = _full_message()
message["flows"] = ["abandon_job"]
message["outcome"] = "no answer"
# Act
request = AbriTriggerRequest.model_validate(message)
# Assert
assert request.outcome == "no answer"
def test_a_message_naming_an_unknown_flow_fails_validation() -> None:
# Arrange
message = _full_message()