feat: panneau de facettes repliable + facette Extensions exposee par l'API #157
This commit is contained in:
@@ -204,7 +204,7 @@ class TestAdvancedSearchAPI:
|
||||
pytest.skip(f"Advanced search non-JSON response: {resp.text[:200]}")
|
||||
|
||||
def test_basic(self, client):
|
||||
resp = client.get("/api/advanced-search?q=python&vault=all")
|
||||
resp = client.get("/api/search/advanced?q=python&vault=all")
|
||||
data = self._check(resp)
|
||||
assert data["total"] >= 1
|
||||
assert len(data["results"]) > 0
|
||||
@@ -217,16 +217,18 @@ class TestAdvancedSearchAPI:
|
||||
assert "path" in r
|
||||
|
||||
def test_pagination(self, client):
|
||||
resp = client.get("/api/advanced-search?q=python&limit=1&offset=0")
|
||||
resp = client.get("/api/search/advanced?q=python&limit=1&offset=0")
|
||||
data = self._check(resp)
|
||||
assert len(data["results"]) <= 1
|
||||
|
||||
def test_facets(self, client):
|
||||
resp = client.get("/api/advanced-search?q=python&vault=all")
|
||||
data = self._check(resp)
|
||||
resp = client.get("/api/search/advanced?q=python&vault=all")
|
||||
# Hard assertion: the facet contract must hold through the response_model
|
||||
# (regression #157: `extensions` used to be stripped by SearchFacets).
|
||||
assert resp.status_code == 200, resp.text[:200]
|
||||
data = resp.json()
|
||||
assert "facets" in data
|
||||
# #157 — extension facet: keys are query-ready (no leading dot) and,
|
||||
# when there are results, at least one extension is counted.
|
||||
assert "extensions" in data["facets"]
|
||||
exts = data["facets"]["extensions"]
|
||||
assert isinstance(exts, dict)
|
||||
assert all(not e.startswith(".") for e in exts)
|
||||
@@ -235,7 +237,7 @@ class TestAdvancedSearchAPI:
|
||||
assert sum(exts.values()) <= data["total"]
|
||||
|
||||
def test_empty_query(self, client):
|
||||
resp = client.get("/api/advanced-search?q=")
|
||||
resp = client.get("/api/search/advanced?q=")
|
||||
data = self._check(resp)
|
||||
# Empty query should return 0 results
|
||||
assert data["total"] == 0
|
||||
|
||||
Reference in New Issue
Block a user