Files
streamrip-ui/backend/tests/test_discover_extra.py
T

43 lines
1.3 KiB
Python

from fastapi.testclient import TestClient
from app.main import app
c = TestClient(app)
def test_discover_playlists_mocked(monkeypatch):
from app.api import discover as disc
async def fake_discover(kind, genre_id, limit):
assert kind == "playlists"
return [{"id": "11", "title": "Mix", "media_type": "playlist"}]
monkeypatch.setattr(disc, "get_discover", fake_discover)
r = c.get("/api/discover", params={"kind": "playlists"})
assert r.status_code == 200
assert r.json()["results"][0]["id"] == "11"
def test_radios_mocked(monkeypatch):
from app.api import discover as disc
async def fake_radios(genre_id):
assert genre_id == 132
return [{"id": 1, "title": "Pop Hits", "cover": None}]
monkeypatch.setattr(disc, "get_genre_radios", fake_radios)
r = c.get("/api/discover/radios", params={"genre_id": 132})
assert r.status_code == 200
assert r.json()["radios"][0]["title"] == "Pop Hits"
def test_radio_tracks_mocked(monkeypatch):
from app.api import discover as disc
async def fake_tracks(radio_id, limit):
return [{"id": "5", "title": "Song", "media_type": "track"}]
monkeypatch.setattr(disc, "get_radio_tracks", fake_tracks)
r = c.get("/api/discover/radios/1/tracks")
assert r.status_code == 200
assert r.json()["tracks"][0]["id"] == "5"