mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Skip and report a document with no Document Type 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
810e910961
commit
34c48d4adc
1 changed files with 19 additions and 1 deletions
|
|
@ -3,6 +3,7 @@ documents: one folder per property, latest file of each Document Type,
|
|||
null-Document-Type rows skipped and reported."""
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from typing import Optional
|
||||
|
||||
from domain.bulk_document_download.package_plan import (
|
||||
ResolvedDocument,
|
||||
|
|
@ -14,7 +15,7 @@ def _doc(
|
|||
*,
|
||||
landlord_property_id: str = "LP1",
|
||||
address: str = "12 Oak Street",
|
||||
document_type: str = "site_note",
|
||||
document_type: Optional[str] = "site_note",
|
||||
s3_key: str = "a.pdf",
|
||||
uploaded_at: datetime = datetime(2026, 1, 1, tzinfo=timezone.utc),
|
||||
) -> ResolvedDocument:
|
||||
|
|
@ -46,3 +47,20 @@ def test_keeps_only_the_latest_file_of_a_document_type_in_the_property_folder()
|
|||
entry = plan.entries[0]
|
||||
assert entry.s3_key == "new.pdf"
|
||||
assert entry.zip_path.startswith("12 Oak Street (LP1)/")
|
||||
|
||||
|
||||
def test_skips_and_reports_a_document_with_no_document_type() -> None:
|
||||
# Arrange — one packable file and one row whose Document Type is null
|
||||
# (file_type is nullable on uploaded_files).
|
||||
packable = _doc(document_type="site_note", s3_key="note.pdf")
|
||||
untyped = _doc(document_type=None, s3_key="mystery.bin")
|
||||
|
||||
# Act
|
||||
plan = plan_download_package([packable, untyped])
|
||||
|
||||
# Assert — the untyped row is left out of the archive and reported instead.
|
||||
assert [e.s3_key for e in plan.entries] == ["note.pdf"]
|
||||
assert len(plan.skipped) == 1
|
||||
skipped = plan.skipped[0]
|
||||
assert skipped.s3_key == "mystery.bin"
|
||||
assert skipped.landlord_property_id == "LP1"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue