diff --git a/backend/handler/metadata/ss_handler.py b/backend/handler/metadata/ss_handler.py index 3d788f85e..886cc98d2 100644 --- a/backend/handler/metadata/ss_handler.py +++ b/backend/handler/metadata/ss_handler.py @@ -997,6 +997,7 @@ SCREENSAVER_PLATFORM_LIST: dict[UPS, SlugToSSId] = { "name": "Neo-Geo Pocket Color", }, UPS.N3DS: {"id": 17, "name": "Nintendo 3DS"}, + UPS.NEW_NINTENDON3DS: {"id": 17, "name": "Nintendo 3DS"}, UPS.N64: {"id": 14, "name": "Nintendo 64"}, UPS.N64DD: {"id": 122, "name": "Nintendo 64DD"}, UPS.NDS: {"id": 15, "name": "Nintendo DS"}, diff --git a/backend/tests/handler/metadata/test_ss_handler.py b/backend/tests/handler/metadata/test_ss_handler.py index ea9c3960c..108763924 100644 --- a/backend/tests/handler/metadata/test_ss_handler.py +++ b/backend/tests/handler/metadata/test_ss_handler.py @@ -667,6 +667,18 @@ class TestAddSsAuthToUrl: assert download_query.get("systemeid") == ["1"] +class TestGetPlatform: + """Tests for SSHandler.get_platform — the slug → ScreenScraper system map.""" + + def test_unmapped_platform_returns_none_ss_id(self): + """A slug with no ScreenScraper mapping yields ss_id=None (lookup skipped).""" + handler = SSHandler() + platform = handler.get_platform("not-a-real-platform") + + assert platform["ss_id"] is None + assert platform["slug"] == "not-a-real-platform" + + class TestGetRomType: def _file(self, ext: str, top_level: bool = True) -> MagicMock: f = MagicMock()