fix(tests): resolve 13 failing unit tests
- Use dynamic APP_VERSION instead of hardcoded v1.3.6 in: test_template_helpers, test_health, test_page_controller - Add unresolved_folders to EXPECTED_TABLES in database/init.py - Fix shallow copy bug in test_serie_scanner.py episodeDict comparison - Update test_schema_constants to expect 6 tables instead of 5
This commit is contained in:
3
Docs/key
3
Docs/key
@@ -4,4 +4,5 @@ API key : 299ae8f630a31bda814263c551361448
|
|||||||
/setup
|
/setup
|
||||||
|
|
||||||
|
|
||||||
SeriesApp initialized for directory:
|
SeriesApp initialized for directory:
|
||||||
|
to remove:
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ EXPECTED_TABLES = {
|
|||||||
"download_queue",
|
"download_queue",
|
||||||
"user_sessions",
|
"user_sessions",
|
||||||
"system_settings",
|
"system_settings",
|
||||||
|
"unresolved_folders",
|
||||||
}
|
}
|
||||||
|
|
||||||
# Expected indexes for performance
|
# Expected indexes for performance
|
||||||
|
|||||||
@@ -473,12 +473,13 @@ async def test_validate_schema_with_inspection_error():
|
|||||||
def test_schema_constants():
|
def test_schema_constants():
|
||||||
"""Test that schema constants are properly defined."""
|
"""Test that schema constants are properly defined."""
|
||||||
assert CURRENT_SCHEMA_VERSION == "1.0.1"
|
assert CURRENT_SCHEMA_VERSION == "1.0.1"
|
||||||
assert len(EXPECTED_TABLES) == 5
|
assert len(EXPECTED_TABLES) == 6
|
||||||
assert "anime_series" in EXPECTED_TABLES
|
assert "anime_series" in EXPECTED_TABLES
|
||||||
assert "episodes" in EXPECTED_TABLES
|
assert "episodes" in EXPECTED_TABLES
|
||||||
assert "download_queue" in EXPECTED_TABLES
|
assert "download_queue" in EXPECTED_TABLES
|
||||||
assert "user_sessions" in EXPECTED_TABLES
|
assert "user_sessions" in EXPECTED_TABLES
|
||||||
assert "system_settings" in EXPECTED_TABLES
|
assert "system_settings" in EXPECTED_TABLES
|
||||||
|
assert "unresolved_folders" in EXPECTED_TABLES
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ from src.server.api.health import (
|
|||||||
get_system_metrics,
|
get_system_metrics,
|
||||||
ready_check,
|
ready_check,
|
||||||
)
|
)
|
||||||
|
from src.server.utils.version import APP_VERSION
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
@@ -29,7 +30,7 @@ async def test_basic_health_check_no_startup_checks():
|
|||||||
|
|
||||||
assert isinstance(result, HealthStatus)
|
assert isinstance(result, HealthStatus)
|
||||||
assert result.status == "healthy"
|
assert result.status == "healthy"
|
||||||
assert result.version == "v1.3.6"
|
assert result.version == APP_VERSION
|
||||||
assert result.service == "aniworld-api"
|
assert result.service == "aniworld-api"
|
||||||
assert result.timestamp is not None
|
assert result.timestamp is not None
|
||||||
assert result.series_app_initialized is False
|
assert result.series_app_initialized is False
|
||||||
|
|||||||
@@ -180,6 +180,7 @@ class TestTemplateHelpers:
|
|||||||
def test_get_base_context(self):
|
def test_get_base_context(self):
|
||||||
"""Test getting base context."""
|
"""Test getting base context."""
|
||||||
from src.server.utils.template_helpers import get_base_context
|
from src.server.utils.template_helpers import get_base_context
|
||||||
|
from src.server.utils.version import APP_VERSION
|
||||||
|
|
||||||
mock_request = MagicMock(spec=Request)
|
mock_request = MagicMock(spec=Request)
|
||||||
context = get_base_context(mock_request, "Test Title")
|
context = get_base_context(mock_request, "Test Title")
|
||||||
@@ -187,7 +188,7 @@ class TestTemplateHelpers:
|
|||||||
assert context["request"] == mock_request
|
assert context["request"] == mock_request
|
||||||
assert context["title"] == "Test Title"
|
assert context["title"] == "Test Title"
|
||||||
assert context["app_name"] == "Aniworld Download Manager"
|
assert context["app_name"] == "Aniworld Download Manager"
|
||||||
assert context["version"] == "v1.3.6"
|
assert context["version"] == APP_VERSION
|
||||||
|
|
||||||
def test_get_base_context_default_title(self):
|
def test_get_base_context_default_title(self):
|
||||||
"""Test getting base context with default title."""
|
"""Test getting base context with default title."""
|
||||||
|
|||||||
@@ -199,7 +199,9 @@ class TestSerieScannerSingleSeries:
|
|||||||
|
|
||||||
# Pre-populate keyDict
|
# Pre-populate keyDict
|
||||||
scanner.keyDict[sample_serie.key] = sample_serie
|
scanner.keyDict[sample_serie.key] = sample_serie
|
||||||
old_episode_dict = sample_serie.episodeDict.copy()
|
# Use deepcopy because episodeDict is modified in-place
|
||||||
|
import copy
|
||||||
|
old_episode_dict = copy.deepcopy(sample_serie.episodeDict)
|
||||||
|
|
||||||
with patch.object(
|
with patch.object(
|
||||||
scanner,
|
scanner,
|
||||||
@@ -211,9 +213,10 @@ class TestSerieScannerSingleSeries:
|
|||||||
folder=sample_serie.folder
|
folder=sample_serie.folder
|
||||||
)
|
)
|
||||||
|
|
||||||
# Verify existing entry was updated
|
# Verify existing entry was updated - episodeDict is merged (not replaced)
|
||||||
|
# Old episodes [2, 3, 4] + new episodes [10, 11, 12] = merged result
|
||||||
assert scanner.keyDict[sample_serie.key].episodeDict != old_episode_dict
|
assert scanner.keyDict[sample_serie.key].episodeDict != old_episode_dict
|
||||||
assert scanner.keyDict[sample_serie.key].episodeDict == {1: [10, 11, 12]}
|
assert scanner.keyDict[sample_serie.key].episodeDict == {1: [2, 3, 4, 10, 11, 12]}
|
||||||
|
|
||||||
def test_scan_single_series_empty_key_raises_error(
|
def test_scan_single_series_empty_key_raises_error(
|
||||||
self, temp_directory, mock_loader
|
self, temp_directory, mock_loader
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from src.server.utils.template_helpers import (
|
|||||||
prepare_series_context,
|
prepare_series_context,
|
||||||
validate_template_exists,
|
validate_template_exists,
|
||||||
)
|
)
|
||||||
|
from src.server.utils.version import APP_VERSION
|
||||||
|
|
||||||
|
|
||||||
class TestTemplateHelpers:
|
class TestTemplateHelpers:
|
||||||
@@ -30,7 +31,7 @@ class TestTemplateHelpers:
|
|||||||
assert context["request"] == request
|
assert context["request"] == request
|
||||||
assert context["title"] == "Test Title"
|
assert context["title"] == "Test Title"
|
||||||
assert context["app_name"] == "Aniworld Download Manager"
|
assert context["app_name"] == "Aniworld Download Manager"
|
||||||
assert context["version"] == "v1.3.6"
|
assert context["version"] == APP_VERSION
|
||||||
|
|
||||||
def test_get_base_context_default_title(self):
|
def test_get_base_context_default_title(self):
|
||||||
"""Test that default title is used."""
|
"""Test that default title is used."""
|
||||||
|
|||||||
Reference in New Issue
Block a user