mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
87 lines
2.4 KiB
Python
87 lines
2.4 KiB
Python
from etl.hubspot.hubspotDataTodB import HubspotDataToDb
|
|
from etl.hubspot.project_data import ProjectData
|
|
from backend.app.db.models.hubspot_deal_data import HubspotDealData
|
|
|
|
|
|
def _make_instance() -> HubspotDataToDb:
|
|
return HubspotDataToDb.__new__(HubspotDataToDb)
|
|
|
|
|
|
def test_update_existing_deal__designer_cleared_to_none__overwrites_existing() -> None:
|
|
existing = HubspotDealData(deal_id="MOCK_DEAL_ID", designer="Old Designer")
|
|
deal_data = {"designer_user": None}
|
|
|
|
_make_instance()._update_existing_deal(
|
|
existing=existing,
|
|
deal_data=deal_data,
|
|
listing=None,
|
|
company=None,
|
|
)
|
|
|
|
assert existing.designer is None
|
|
|
|
|
|
def test_update_existing_deal__designer_set__overwrites_existing() -> None:
|
|
existing = HubspotDealData(deal_id="MOCK_DEAL_ID", designer="Old Designer")
|
|
deal_data = {"designer_user": "New Designer"}
|
|
|
|
_make_instance()._update_existing_deal(
|
|
existing=existing,
|
|
deal_data=deal_data,
|
|
listing=None,
|
|
company=None,
|
|
)
|
|
|
|
assert existing.designer == "New Designer"
|
|
|
|
|
|
def test_build_new_deal__project_sets_project_id() -> None:
|
|
new_deal = _make_instance()._build_new_deal(
|
|
deal_id="MOCK_DEAL_ID",
|
|
deal_data={},
|
|
listing=None,
|
|
company=None,
|
|
project=ProjectData(project_id="proj-1", name="Project One"),
|
|
)
|
|
|
|
assert new_deal.project_id == "proj-1"
|
|
|
|
|
|
def test_build_new_deal__no_project__project_id_none() -> None:
|
|
new_deal = _make_instance()._build_new_deal(
|
|
deal_id="MOCK_DEAL_ID",
|
|
deal_data={},
|
|
listing=None,
|
|
company=None,
|
|
project=None,
|
|
)
|
|
|
|
assert new_deal.project_id is None
|
|
|
|
|
|
def test_update_existing_deal__project_sets_project_id() -> None:
|
|
existing = HubspotDealData(deal_id="MOCK_DEAL_ID")
|
|
|
|
_make_instance()._update_existing_deal(
|
|
existing=existing,
|
|
deal_data={},
|
|
listing=None,
|
|
company=None,
|
|
project=ProjectData(project_id="proj-1", name="Project One"),
|
|
)
|
|
|
|
assert existing.project_id == "proj-1"
|
|
|
|
|
|
def test_update_existing_deal__no_project__clears_project_id() -> None:
|
|
existing = HubspotDealData(deal_id="MOCK_DEAL_ID", project_id="old-proj")
|
|
|
|
_make_instance()._update_existing_deal(
|
|
existing=existing,
|
|
deal_data={},
|
|
listing=None,
|
|
company=None,
|
|
project=None,
|
|
)
|
|
|
|
assert existing.project_id is None
|