Files
streamrip-ui/backend/tests/test_search.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

42 lines
1.2 KiB
Python

from fastapi.testclient import TestClient
from app.main import app
c = TestClient(app)
def test_search_rejects_empty_query():
r = c.get("/api/search", params={"type": "track", "q": ""})
assert r.status_code == 400
def test_search_rejects_invalid_type():
r = c.get("/api/search", params={"type": "foo", "q": "x"})
assert r.status_code == 422
def test_search_track_mocked(monkeypatch):
from app.services import streamrip_service as svc
async def fake_search(media_type, query, limit, index=0):
assert media_type == "track"
return [
{
"source": "deezer",
"media_type": "track",
"id": "123",
"title": "Test Song",
"artist": "Test Artist",
"desc": "Test Song by Test Artist",
"cover": None,
"preview_url": None,
"duration": None,
}
], 1
monkeypatch.setattr(svc, "search_deezer", fake_search)
r = c.get("/api/search", params={"type": "track", "q": "test"})
assert r.status_code == 200
body = r.json()
assert body["results"][0]["id"] == "123"
assert body["results"][0]["title"] == "Test Song"