/
/
/
1"""Shared fixtures for Deezer provider tests."""
2
3from __future__ import annotations
4
5from unittest.mock import Mock
6
7import pytest
8
9from music_assistant.providers.deezer.browse import DeezerBrowseManager
10from music_assistant.providers.deezer.provider import SUPPORTED_FEATURES, DeezerProvider
11
12
13@pytest.fixture
14def provider() -> DeezerProvider:
15 """Create a real DeezerProvider with mocked dependencies."""
16 mass = Mock()
17 manifest = Mock()
18 manifest.domain = "deezer"
19 config = Mock()
20 config.instance_id = "deezer--test123"
21 config.name = "Deezer Test"
22 config.enabled = True
23 config.get_value.side_effect = lambda key, default=None: {
24 "log_level": "GLOBAL",
25 }.get(key, default)
26 provider = DeezerProvider(mass, manifest, config, SUPPORTED_FEATURES)
27 provider.user_id = "user123"
28 provider.gql_client = Mock() # replaced with per-test stubs
29 provider.browse_manager = DeezerBrowseManager(provider)
30 return provider
31