mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-08-03 05:18:22 +00:00
Fetch every evidence page when a job has more files than one page holds 🟥
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
035d2f5136
commit
5a85403c3d
1 changed files with 20 additions and 8 deletions
|
|
@ -380,18 +380,30 @@ def test_get_evidence_list_requests_a_single_large_page() -> None:
|
|||
}
|
||||
|
||||
|
||||
def test_get_evidence_list_raises_when_response_is_truncated() -> None:
|
||||
# Arrange
|
||||
def test_get_evidence_list_fetches_subsequent_pages_until_total_reached() -> None:
|
||||
# Arrange — 108 files split across two pages of 100
|
||||
client = make_client()
|
||||
payload = {
|
||||
first_page = {
|
||||
"results": [make_evidence_item(f"id-{i}") for i in range(100)],
|
||||
"totalItemCount": 250,
|
||||
"totalItemCount": 108,
|
||||
}
|
||||
client.session.get = MagicMock(return_value=make_response(payload=payload))
|
||||
second_page = {
|
||||
"results": [make_evidence_item(f"id-{i}") for i in range(100, 108)],
|
||||
"totalItemCount": 108,
|
||||
}
|
||||
client.session.get = MagicMock(
|
||||
side_effect=[
|
||||
make_response(payload=first_page),
|
||||
make_response(payload=second_page),
|
||||
]
|
||||
)
|
||||
|
||||
# Act / Assert
|
||||
with pytest.raises(TruncatedEvidenceListError, match=r"100 of 250"):
|
||||
client._get_evidence_list("job-1")
|
||||
# Act
|
||||
result = client._get_evidence_list("job-1")
|
||||
|
||||
# Assert
|
||||
assert [f.file_id for f in result] == [f"id-{i}" for i in range(108)]
|
||||
assert [c.kwargs["params"]["pageIndex"] for c in client.session.get.call_args_list] == [0, 1]
|
||||
|
||||
|
||||
def test_get_evidence_list_returns_all_files_when_count_matches_total() -> None:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue