Files
streamrip-ui/backend/tests/test_discover_extra.py
T
loki 99cfda2b08
CI / backend-tests (push) Successful in 8s
Docker images / backend (push) Successful in 7s
Docker images / frontend (push) Successful in 22s
CI / docker (push) Successful in 3s
feat: mehr-laden paging (suche + entdecken, totals, fallback-skip)
2026-10-04 16:39:16 +02:00

43 lines
1.4 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, index=0):
assert kind == "playlists"
return [{"id": "11", "title": "Mix", "media_type": "playlist"}], 3
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, index=0):
return [{"id": "5", "title": "Song", "media_type": "track"}], 10
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"