feat: B4 - progressbar

This commit is contained in:
kodi
2026-03-14 14:49:15 +01:00
parent 2981ac2796
commit d459f3c524
7 changed files with 132 additions and 43 deletions
@@ -263,6 +263,51 @@ class TasksApiGoldenTest(unittest.TestCase):
self.assertEqual(body["status"], "ready")
self.assertEqual(body["destination"], "docs.zip")
def test_get_task_detail_requested_archive_download(self) -> None:
self._insert_task(
task_id="task-download-requested",
operation="download",
status="requested",
source="storage1/docs",
destination="docs.zip",
created_at="2026-03-10T10:00:00Z",
done_items=0,
total_items=1,
)
response = self._get("/api/tasks/task-download-requested")
self.assertEqual(response.status_code, 200)
body = response.json()
self.assertEqual(body["operation"], "download")
self.assertEqual(body["status"], "requested")
self.assertEqual(body["done_items"], 0)
self.assertEqual(body["total_items"], 1)
def test_get_task_detail_preparing_archive_download_with_current_item(self) -> None:
self._insert_task(
task_id="task-download-preparing",
operation="download",
status="preparing",
source="storage1/docs",
destination="docs.zip",
created_at="2026-03-10T10:00:00Z",
started_at="2026-03-10T10:00:01Z",
done_items=1,
total_items=3,
current_item="storage1/docs/b.txt",
)
response = self._get("/api/tasks/task-download-preparing")
self.assertEqual(response.status_code, 200)
body = response.json()
self.assertEqual(body["operation"], "download")
self.assertEqual(body["status"], "preparing")
self.assertEqual(body["done_items"], 1)
self.assertEqual(body["total_items"], 3)
self.assertEqual(body["current_item"], "storage1/docs/b.txt")
def test_get_task_detail_cancelled_archive_download(self) -> None:
self._insert_task(
task_id="task-download-cancelled",