A client_booking_reference change triggers a deal database update 🟥

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Daniel Roth 2026-07-06 16:04:54 +00:00
parent ed08a6adfe
commit faac50eca4
2 changed files with 56 additions and 0 deletions

View file

@ -71,6 +71,10 @@ class HubspotDealData(SQLModel, table=True):
confirmed_survey_time: Optional[str] = Field(default=None)
surveyed_date: Optional[datetime] = Field(default=None)
design_type: Optional[str] = Field(default=None)
# OpenHousing job number; HubSpot property ID is client_booking_reference.
# Column is created by a drizzle migration in the TS frontend repo, which
# must deploy before this model change (issue #1478).
job_no: Optional[str] = Field(default=None)
survey_type: Optional[str] = Field(default=None)
measures_for_pibi_ordered: Optional[str] = Field(default=None)

View file

@ -1226,3 +1226,55 @@ def test_db_update_trigger__listing_changed__returns_true() -> None:
)
assert result is True
def test_db_update_trigger__client_booking_reference_changed__returns_true() -> None:
deal_id = uuid.uuid4()
# Arrange
old_deal = make_old_deal(
id=deal_id,
job_no=None,
)
new_deal = make_new_deal(
deal_id,
hs_object_id="1",
client_booking_reference="AD0226519",
)
# Act
result = HubspotDealDiffer.check_for_db_update_trigger(
new_deal=new_deal,
new_company=None,
new_listing=None,
old_deal=old_deal,
)
# Assert
assert result is True
def test_db_update_trigger__client_booking_reference_unchanged__returns_false() -> None:
deal_id = uuid.uuid4()
# Arrange
old_deal = make_old_deal(
id=deal_id,
job_no="AD0226519",
)
new_deal = make_new_deal(
deal_id,
hs_object_id="1",
client_booking_reference="AD0226519",
)
# Act
result = HubspotDealDiffer.check_for_db_update_trigger(
new_deal=new_deal,
new_company=None,
new_listing=None,
old_deal=old_deal,
)
# Assert
assert result is False