diff --git a/backend/src/test/conftest.py b/backend/src/test/conftest.py index 5f8cd408..fa856fd7 100644 --- a/backend/src/test/conftest.py +++ b/backend/src/test/conftest.py @@ -8,6 +8,7 @@ from fastapi.testclient import TestClient from sqlmodel import Session, SQLModel, create_engine from module.api import v1 +from module.database.bangumi import _invalidate_bangumi_cache from module.models.config import Config from module.models import ResponseModel from module.security.api import get_current_user @@ -18,6 +19,19 @@ from module.security.api import get_current_user # --------------------------------------------------------------------------- +@pytest.fixture(autouse=True) +def _clear_bangumi_cache(): + """Invalidate the module-level bangumi cache before each test. + + The BangumiDatabase.search_all() uses a module-level TTL cache that + persists across tests using different in-memory databases, causing + stale results. + """ + _invalidate_bangumi_cache() + yield + _invalidate_bangumi_cache() + + @pytest.fixture def db_engine(): """Create an in-memory SQLite engine for testing."""