mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-30 13:10:47 +00:00
All downloaded PasHub files uploaded to SharePoint property folder 🟥
This commit is contained in:
parent
815173bc79
commit
3d2a21d9d9
1 changed files with 74 additions and 0 deletions
|
|
@ -27,6 +27,7 @@ def make_request(
|
||||||
hubspot_deal_id: Optional[str] = None,
|
hubspot_deal_id: Optional[str] = None,
|
||||||
sharepoint_link: Optional[str] = None,
|
sharepoint_link: Optional[str] = None,
|
||||||
get_other_files: bool = False,
|
get_other_files: bool = False,
|
||||||
|
address: Optional[str] = None,
|
||||||
) -> PashubToAraTriggerRequest:
|
) -> PashubToAraTriggerRequest:
|
||||||
return PashubToAraTriggerRequest(
|
return PashubToAraTriggerRequest(
|
||||||
pashub_link=pashub_link,
|
pashub_link=pashub_link,
|
||||||
|
|
@ -34,6 +35,7 @@ def make_request(
|
||||||
hubspot_deal_id=hubspot_deal_id,
|
hubspot_deal_id=hubspot_deal_id,
|
||||||
sharepoint_link=sharepoint_link,
|
sharepoint_link=sharepoint_link,
|
||||||
get_other_files=get_other_files,
|
get_other_files=get_other_files,
|
||||||
|
address=address,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -529,6 +531,78 @@ def test_run_persists_mcs_cert_with_mcs_certificate_file_type() -> None:
|
||||||
assert added[0].file_type == FileTypeEnum.MCS_CERTIFICATE.value
|
assert added[0].file_type == FileTypeEnum.MCS_CERTIFICATE.value
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# run(): SharePoint upload
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
def test_sharepoint_uploads_all_files_to_property_folder() -> None:
|
||||||
|
# Arrange
|
||||||
|
mock_client = MagicMock(spec=PashubClient)
|
||||||
|
mock_client.get_uprn_by_job_id.return_value = None
|
||||||
|
mock_client.get_evidence_files_by_job_id.return_value = make_downloaded(
|
||||||
|
core=["/tmp/core.pdf"],
|
||||||
|
other=["/tmp/other.pdf"],
|
||||||
|
)
|
||||||
|
|
||||||
|
mock_sharepoint = MagicMock(spec=DomnaSharepointClient)
|
||||||
|
mock_sharepoint.get_folders_in_path.return_value = {
|
||||||
|
"value": [{"name": "123 Main St"}]
|
||||||
|
}
|
||||||
|
|
||||||
|
service = make_service(pashub_client=mock_client, sharepoint_client=mock_sharepoint)
|
||||||
|
|
||||||
|
# Act
|
||||||
|
with patch("backend.pashub_fetcher.pashub_service.os.remove"):
|
||||||
|
service.run(
|
||||||
|
make_request(
|
||||||
|
sharepoint_link="Retrofit/Properties",
|
||||||
|
get_other_files=True,
|
||||||
|
address="123 Main St | some deal",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
mock_sharepoint.upload_file.assert_any_call(
|
||||||
|
"/tmp/core.pdf", "Retrofit/Properties/123 Main St", "core.pdf"
|
||||||
|
)
|
||||||
|
mock_sharepoint.upload_file.assert_any_call(
|
||||||
|
"/tmp/other.pdf", "Retrofit/Properties/123 Main St", "other.pdf"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def test_sharepoint_skips_upload_when_folder_not_found() -> None:
|
||||||
|
# Arrange
|
||||||
|
mock_client = MagicMock(spec=PashubClient)
|
||||||
|
mock_client.get_uprn_by_job_id.return_value = None
|
||||||
|
mock_client.get_evidence_files_by_job_id.return_value = make_downloaded(
|
||||||
|
core=["/tmp/core.pdf"]
|
||||||
|
)
|
||||||
|
|
||||||
|
mock_sharepoint = MagicMock(spec=DomnaSharepointClient)
|
||||||
|
mock_sharepoint.get_folders_in_path.return_value = {
|
||||||
|
"value": [{"name": "Different Property"}]
|
||||||
|
}
|
||||||
|
|
||||||
|
service = make_service(pashub_client=mock_client, sharepoint_client=mock_sharepoint)
|
||||||
|
|
||||||
|
# Act
|
||||||
|
with (
|
||||||
|
patch("backend.pashub_fetcher.pashub_service.os.remove"),
|
||||||
|
patch("backend.pashub_fetcher.pashub_service.logger") as mock_logger,
|
||||||
|
):
|
||||||
|
service.run(
|
||||||
|
make_request(
|
||||||
|
sharepoint_link="Retrofit/Properties",
|
||||||
|
address="No Such Property | deal",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
mock_sharepoint.upload_file.assert_not_called()
|
||||||
|
mock_logger.warning.assert_called()
|
||||||
|
|
||||||
|
|
||||||
def test_run_warns_and_continues_when_site_notes_parsing_fails() -> None:
|
def test_run_warns_and_continues_when_site_notes_parsing_fails() -> None:
|
||||||
mock_client = MagicMock(spec=PashubClient)
|
mock_client = MagicMock(spec=PashubClient)
|
||||||
mock_client.get_uprn_by_job_id.return_value = None
|
mock_client.get_uprn_by_job_id.return_value = None
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue