mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +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,
|
||||
sharepoint_link: Optional[str] = None,
|
||||
get_other_files: bool = False,
|
||||
address: Optional[str] = None,
|
||||
) -> PashubToAraTriggerRequest:
|
||||
return PashubToAraTriggerRequest(
|
||||
pashub_link=pashub_link,
|
||||
|
|
@ -34,6 +35,7 @@ def make_request(
|
|||
hubspot_deal_id=hubspot_deal_id,
|
||||
sharepoint_link=sharepoint_link,
|
||||
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
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 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:
|
||||
mock_client = MagicMock(spec=PashubClient)
|
||||
mock_client.get_uprn_by_job_id.return_value = None
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue