Task 4.2: Update Download API Endpoints to Use Key

- Updated DownloadRequest and DownloadItem models with comprehensive
  docstrings explaining serie_id (key as primary identifier) vs
  serie_folder (filesystem metadata)
- Updated add_to_queue() endpoint docstring to document request parameters
- Updated all test files to include required serie_folder field:
  - tests/api/test_download_endpoints.py
  - tests/api/test_queue_features.py
  - tests/frontend/test_existing_ui_integration.py
  - tests/integration/test_download_flow.py
- Updated infrastructure.md with Download Queue request/response models
- All 869 tests pass

This is part of the Series Identifier Standardization effort (Phase 4.2)
to ensure key is used as the primary identifier throughout the codebase.
This commit is contained in:
2025-11-27 19:33:06 +01:00
parent da4973829e
commit 589141e9aa
8 changed files with 80 additions and 46 deletions

View File

@@ -146,7 +146,8 @@ async def test_get_queue_status_unauthorized(mock_download_service):
async def test_add_to_queue(authenticated_client, mock_download_service):
"""Test POST /api/queue/add endpoint."""
request_data = {
"serie_id": "series-1",
"serie_id": "test-anime",
"serie_folder": "Test Anime (2024)",
"serie_name": "Test Anime",
"episodes": [
{"season": 1, "episode": 1},
@@ -175,7 +176,8 @@ async def test_add_to_queue_with_high_priority(
):
"""Test adding items with HIGH priority."""
request_data = {
"serie_id": "series-1",
"serie_id": "test-anime",
"serie_folder": "Test Anime (2024)",
"serie_name": "Test Anime",
"episodes": [{"season": 1, "episode": 1}],
"priority": "high",
@@ -198,7 +200,8 @@ async def test_add_to_queue_empty_episodes(
):
"""Test adding empty episodes list returns 400."""
request_data = {
"serie_id": "series-1",
"serie_id": "test-anime",
"serie_folder": "Test Anime (2024)",
"serie_name": "Test Anime",
"episodes": [],
"priority": "normal",
@@ -221,7 +224,8 @@ async def test_add_to_queue_service_error(
)
request_data = {
"serie_id": "series-1",
"serie_id": "test-anime",
"serie_folder": "Test Anime (2024)",
"serie_name": "Test Anime",
"episodes": [{"season": 1, "episode": 1}],
"priority": "normal",

View File

@@ -48,6 +48,7 @@ def sample_download_request():
"""Sample download request for testing."""
return {
"serie_id": "test-series",
"serie_folder": "Test Series (2024)",
"serie_name": "Test Series",
"episodes": [
{"season": 1, "episode": 1},
@@ -159,6 +160,7 @@ class TestQueueReordering:
"/api/queue/add",
json={
"serie_id": f"test-{i}",
"serie_folder": f"Test Series {i} (2024)",
"serie_name": f"Test Series {i}",
"episodes": [{"season": 1, "episode": i+1}],
"priority": "normal"