mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Add remaining planning/address-profiling fields to HubSpot ETL sync
Sync Design Constraints, Planning Comments, Planning Status, and Planning Suggested Approach, matching the columns added in Hestia-Homes/assessment-model#377. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
b8316418e1
commit
04d1df1343
4 changed files with 40 additions and 0 deletions
|
|
@ -97,6 +97,10 @@ class HubspotDealData(SQLModel, table=True):
|
|||
designated_area: Optional[str] = Field(default=None)
|
||||
article_4_pd_rights: Optional[str] = Field(default=None)
|
||||
listed_building: Optional[str] = Field(default=None)
|
||||
design_constraints: Optional[str] = Field(default=None)
|
||||
planning_comments: Optional[str] = Field(default=None)
|
||||
planning_status: Optional[str] = Field(default=None)
|
||||
planning_suggested_approach: Optional[str] = Field(default=None)
|
||||
|
||||
created_at: Optional[datetime] = Field(
|
||||
sa_column=Column(
|
||||
|
|
|
|||
|
|
@ -306,6 +306,12 @@ class HubspotDataToDb:
|
|||
"designated_area": deal_data.get("designated_area"),
|
||||
"article_4_pd_rights": deal_data.get("article_pd_rights"),
|
||||
"listed_building": deal_data.get("listed_building"),
|
||||
"design_constraints": deal_data.get("design_constraints"),
|
||||
"planning_comments": deal_data.get("planning_comments"),
|
||||
"planning_status": deal_data.get("planning_status"),
|
||||
"planning_suggested_approach": deal_data.get(
|
||||
"planning_suggested_approach"
|
||||
),
|
||||
}.items():
|
||||
setattr(existing, attr, value)
|
||||
|
||||
|
|
@ -415,6 +421,12 @@ class HubspotDataToDb:
|
|||
designated_area=deal_data.get("designated_area"),
|
||||
article_4_pd_rights=deal_data.get("article_pd_rights"),
|
||||
listed_building=deal_data.get("listed_building"),
|
||||
design_constraints=deal_data.get("design_constraints"),
|
||||
planning_comments=deal_data.get("planning_comments"),
|
||||
planning_status=deal_data.get("planning_status"),
|
||||
planning_suggested_approach=deal_data.get(
|
||||
"planning_suggested_approach"
|
||||
),
|
||||
)
|
||||
|
||||
def _handle_existing_photo_upload(
|
||||
|
|
|
|||
|
|
@ -113,6 +113,10 @@ class HubspotDealDiffer:
|
|||
"designated_area": "designated_area",
|
||||
"article_pd_rights": "article_4_pd_rights",
|
||||
"listed_building": "listed_building",
|
||||
"design_constraints": "design_constraints",
|
||||
"planning_comments": "planning_comments",
|
||||
"planning_status": "planning_status",
|
||||
"planning_suggested_approach": "planning_suggested_approach",
|
||||
}
|
||||
|
||||
for hs_field, db_field in FIELD_MAP.items():
|
||||
|
|
|
|||
|
|
@ -137,6 +137,10 @@ def test_build_new_deal__planning_fields_mapped() -> None:
|
|||
"designated_area": "Conservation Area",
|
||||
"article_pd_rights": "Removed",
|
||||
"listed_building": "Grade II",
|
||||
"design_constraints": "Sloped site",
|
||||
"planning_comments": "Awaiting decision",
|
||||
"planning_status": "Submitted",
|
||||
"planning_suggested_approach": "Full application",
|
||||
},
|
||||
listing=None,
|
||||
company=None,
|
||||
|
|
@ -147,6 +151,10 @@ def test_build_new_deal__planning_fields_mapped() -> None:
|
|||
assert new_deal.designated_area == "Conservation Area"
|
||||
assert new_deal.article_4_pd_rights == "Removed"
|
||||
assert new_deal.listed_building == "Grade II"
|
||||
assert new_deal.design_constraints == "Sloped site"
|
||||
assert new_deal.planning_comments == "Awaiting decision"
|
||||
assert new_deal.planning_status == "Submitted"
|
||||
assert new_deal.planning_suggested_approach == "Full application"
|
||||
|
||||
|
||||
def test_update_existing_deal__planning_fields_overwritten() -> None:
|
||||
|
|
@ -156,12 +164,20 @@ def test_update_existing_deal__planning_fields_overwritten() -> None:
|
|||
designated_area="Old Area",
|
||||
article_4_pd_rights="Old Rights",
|
||||
listed_building="Old Listing",
|
||||
design_constraints="Old Constraints",
|
||||
planning_comments="Old Comments",
|
||||
planning_status="Old Status",
|
||||
planning_suggested_approach="Old Approach",
|
||||
)
|
||||
deal_data = {
|
||||
"planning_authority": "New Council",
|
||||
"designated_area": "New Area",
|
||||
"article_pd_rights": "New Rights",
|
||||
"listed_building": "New Listing",
|
||||
"design_constraints": "New Constraints",
|
||||
"planning_comments": "New Comments",
|
||||
"planning_status": "New Status",
|
||||
"planning_suggested_approach": "New Approach",
|
||||
}
|
||||
|
||||
_make_instance()._update_existing_deal(
|
||||
|
|
@ -175,3 +191,7 @@ def test_update_existing_deal__planning_fields_overwritten() -> None:
|
|||
assert existing.designated_area == "New Area"
|
||||
assert existing.article_4_pd_rights == "New Rights"
|
||||
assert existing.listed_building == "New Listing"
|
||||
assert existing.design_constraints == "New Constraints"
|
||||
assert existing.planning_comments == "New Comments"
|
||||
assert existing.planning_status == "New Status"
|
||||
assert existing.planning_suggested_approach == "New Approach"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue