43 lines
1.3 KiB
Python
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"
|