/
/
/
1"""The demo music provider's recommendations implementation."""
2
3from __future__ import annotations
4
5from unittest.mock import MagicMock
6
7import pytest
8from music_assistant_models.enums import ProviderType
9
10from music_assistant.providers._demo_music_provider import (
11 SUPPORTED_FEATURES,
12 MyDemoMusicprovider,
13)
14
15
16@pytest.fixture
17def demo_music_provider() -> MyDemoMusicprovider:
18 """Construct a minimal demo provider with stubbed mass/manifest/config."""
19 mass = MagicMock()
20 manifest = MagicMock()
21 manifest.type = ProviderType.MUSIC
22 manifest.domain = "demo"
23 config = MagicMock()
24 config.name = "Demo Provider"
25 config.instance_id = "demo_instance"
26 config.get_value = MagicMock(return_value="GLOBAL")
27 return MyDemoMusicprovider(mass, manifest, config, SUPPORTED_FEATURES)
28
29
30async def test_get_recommendations_returns_empty_list(
31 demo_music_provider: MyDemoMusicprovider,
32) -> None:
33 """The demo provider's get_recommendations() returns an empty list."""
34 assert await demo_music_provider.get_recommendations() == []
35
36
37async def test_get_recommendation_items_returns_empty_list(
38 demo_music_provider: MyDemoMusicprovider,
39) -> None:
40 """The demo provider's get_recommendation_items() returns an empty list for any id."""
41 assert await demo_music_provider.get_recommendation_items("any_row") == []
42