"""Unit tests for store availability functions.""" from unittest.mock import MagicMock from sound_recordings.constants import store from sound_recordings.utils import store_availability STORES = { 1: "Apple Music", 4: "Napster", 187: "Amazon Music", 286: "Spotify", } def test_get_store_names(): """Test get_store_names.""" result = store_availability.get_store_names() assert result == store.ACTIVE_STORE_NAMES def test_get_sources(): """Test get_sources.""" result = store_availability.get_sources() assert result == store.ALL_SOURCES def test_get_store_ids(monkeypatch): """Test get_store_ids.""" monkeypatch.setattr( store_availability, "get_store_names", MagicMock(return_value=STORES) ) result = store_availability.get_store_ids() assert result == [1, 4, 187, 286] def test_get_query_store_ids(monkeypatch): """Test get_query_store_ids returns default if no query params.""" monkeypatch.setattr( store_availability, "get_store_names", MagicMock(return_value=STORES) ) result = store_availability.get_query_store_ids([]) assert result == [1, 4, 187, 286] def test_get_query_store_ids_with_params(monkeypatch): """Test get_query_store_ids returns intersection if query params.""" monkeypatch.setattr( store_availability, "get_store_names", MagicMock(return_value=STORES) ) result = store_availability.get_query_store_ids([187, 4]) assert result == [4, 187]