fix(scheduler): skip rescan during initial setup when anime directory not configured
Prevent scheduler from triggering immediate rescan when: - No previous scan recorded AND initial setup not yet completed - Anime directory doesn't exist during initial sync The setup flow will trigger rescan when ready. Also adds graceful handling when anime directory is missing during data file sync. Fixes: 503 error on setup when scheduler triggers rescan before anime directory is configured
This commit is contained in:
@@ -160,8 +160,11 @@ class TestSyncAnimeFolders:
|
||||
@pytest.mark.asyncio
|
||||
async def test_sync_anime_folders_without_progress(self):
|
||||
"""Test syncing anime folders without progress service."""
|
||||
with patch('src.server.services.initialization_service.sync_legacy_series_to_db',
|
||||
with patch('src.server.services.initialization_service.settings') as mock_settings, \
|
||||
patch('src.server.services.initialization_service.os.path.isdir', return_value=True), \
|
||||
patch('src.server.services.initialization_service.sync_legacy_series_to_db',
|
||||
new_callable=AsyncMock, return_value=42) as mock_sync:
|
||||
mock_settings.anime_directory = "/path/to/anime"
|
||||
result = await _sync_anime_folders()
|
||||
|
||||
assert result == 42
|
||||
@@ -172,8 +175,11 @@ class TestSyncAnimeFolders:
|
||||
"""Test syncing anime folders with progress updates."""
|
||||
mock_progress = AsyncMock()
|
||||
|
||||
with patch('src.server.services.initialization_service.sync_legacy_series_to_db',
|
||||
with patch('src.server.services.initialization_service.settings') as mock_settings, \
|
||||
patch('src.server.services.initialization_service.os.path.isdir', return_value=True), \
|
||||
patch('src.server.services.initialization_service.sync_legacy_series_to_db',
|
||||
new_callable=AsyncMock, return_value=10) as mock_sync:
|
||||
mock_settings.anime_directory = "/path/to/anime"
|
||||
result = await _sync_anime_folders(progress_service=mock_progress)
|
||||
|
||||
assert result == 10
|
||||
|
||||
Reference in New Issue
Block a user