refactor: restructure core→server, split large entity files into database module
- Move src/core/ → src/server/ - Split SerieList.py (531 lines) and series.py (414 lines) into src/server/database/ - Add database/models.py for SQLAlchemy models - Update all test imports to reflect new structure - Remove deprecated test files (test_serie_class.py, test_serie_folder_with_year.py)
This commit is contained in:
@@ -7,12 +7,26 @@ from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from src.core.entities.series import Serie
|
||||
from src.core.SeriesApp import SeriesApp
|
||||
from src.server.SeriesApp import SeriesApp
|
||||
from src.server.database.models import AnimeSeries, Episode
|
||||
from src.server.services.anime_service import AnimeService
|
||||
|
||||
|
||||
def make_anime(key, name, site, folder, episodeDict=None, year=None):
|
||||
"""Create a mock AnimeSeries with episodeDict cache set."""
|
||||
if episodeDict is None:
|
||||
episodeDict = {}
|
||||
mock = MagicMock(spec=AnimeSeries)
|
||||
mock.key = key
|
||||
mock.name = name
|
||||
mock.site = site
|
||||
mock.folder = folder
|
||||
mock.year = year
|
||||
mock.episodeDict = episodeDict
|
||||
mock._episode_dict_cache = episodeDict
|
||||
return mock
|
||||
|
||||
|
||||
class TestAnimeListLoading:
|
||||
"""Test suite for anime list loading functionality."""
|
||||
|
||||
@@ -98,8 +112,8 @@ class TestAnimeListLoading:
|
||||
called_series = mock_series_app.load_series_from_list.call_args[0][0]
|
||||
assert len(called_series) == 2
|
||||
|
||||
# Verify Serie objects have correct attributes
|
||||
assert all(isinstance(s, Serie) for s in called_series)
|
||||
# Verify AnimeSeries objects have correct attributes
|
||||
assert all(isinstance(s, AnimeSeries) for s in called_series)
|
||||
assert called_series[0].key == "test-anime-1"
|
||||
assert called_series[0].name == "Test Anime 1"
|
||||
assert called_series[0].folder == "Test Anime 1 (2023)"
|
||||
@@ -140,14 +154,14 @@ class TestAnimeListLoading:
|
||||
|
||||
# Create test series
|
||||
test_series = [
|
||||
Serie(
|
||||
make_anime(
|
||||
key="test-1",
|
||||
name="Test Series 1",
|
||||
site="aniworld.to",
|
||||
folder="Test Series 1 (2023)",
|
||||
episodeDict={1: [1, 2, 3]}
|
||||
),
|
||||
Serie(
|
||||
make_anime(
|
||||
key="test-2",
|
||||
name="Test Series 2",
|
||||
site="aniworld.to",
|
||||
@@ -295,7 +309,7 @@ class TestAnimeListLoading:
|
||||
"With skip_load=True, list should be empty initially"
|
||||
|
||||
# Test that manual loading works
|
||||
test_serie = Serie(
|
||||
test_serie = make_anime(
|
||||
key="test",
|
||||
name="Test",
|
||||
site="aniworld.to",
|
||||
|
||||
Reference in New Issue
Block a user