fc / tests /ci /unit /test_case_admin_export_bridge.py
jun2024's picture
Upload 2241 files
b4f2238 verified
Raw History Blame Contribute Delete
2.35 kB
"""Unit tests for case_admin_export_bridge."""
from __future__ import annotations
from unittest.mock import MagicMock
from apps.cases.services.case.case_admin_export_bridge import (
collect_case_file_paths_for_export,
get_case_admin_export_prefetches,
get_case_admin_file_prefetches,
)
def test_get_case_admin_export_prefetches_returns_nonempty_tuple() -> None:
result = get_case_admin_export_prefetches()
assert isinstance(result, tuple)
assert len(result) > 0
def test_get_case_admin_file_prefetches_returns_nonempty_tuple() -> None:
result = get_case_admin_file_prefetches()
assert isinstance(result, tuple)
assert len(result) > 0
def test_collect_case_file_paths_for_export_collects_identity_docs() -> None:
identity_doc = MagicMock()
identity_doc.file_path = "id_doc.pdf"
clue_attachment = MagicMock()
clue_attachment.file_path = "clue_attach.pdf"
clue = MagicMock()
clue.attachments.all.return_value = [clue_attachment]
client = MagicMock()
client.identity_docs.all.return_value = [identity_doc]
client.property_clues.all.return_value = [clue]
party = MagicMock()
party.client = client
log_attachment = MagicMock()
log_attachment.file = MagicMock()
log_attachment.file.name = "log_attach.pdf"
log = MagicMock()
log.attachments.all.return_value = [log_attachment]
case = MagicMock()
case.parties.all.return_value = [party]
case.logs.all.return_value = [log]
collected: list[str] = []
collect_case_file_paths_for_export(case, collected.append)
assert "id_doc.pdf" in collected
assert "clue_attach.pdf" in collected
assert "log_attach.pdf" in collected
def test_collect_case_file_paths_for_export_skips_log_attachment_without_file() -> None:
client = MagicMock()
client.identity_docs.all.return_value = []
client.property_clues.all.return_value = []
party = MagicMock()
party.client = client
log_attachment = MagicMock()
log_attachment.file = None # no file
log = MagicMock()
log.attachments.all.return_value = [log_attachment]
case = MagicMock()
case.parties.all.return_value = [party]
case.logs.all.return_value = [log]
collected: list[str] = []
collect_case_file_paths_for_export(case, collected.append)
assert collected == []