refactor: extrait build_view_query et le réutilise dans le partage #95
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import urllib.parse
|
||||
|
||||
from src.utils.table import build_view_query
|
||||
|
||||
|
||||
def test_empty_inputs_give_empty_string():
|
||||
assert build_view_query(None, None, None) == ""
|
||||
assert build_view_query("", [], []) == ""
|
||||
|
||||
|
||||
def test_filter_only():
|
||||
q = build_view_query("{objet} icontains route", None, None)
|
||||
params = urllib.parse.parse_qs(q)
|
||||
assert params["filtres"] == ["{objet} icontains route"]
|
||||
assert "tris" not in params
|
||||
assert "colonnes" not in params
|
||||
|
||||
|
||||
def test_sort_is_json_encoded():
|
||||
sort_by = [{"column_id": "montant", "direction": "desc"}]
|
||||
q = build_view_query(None, sort_by, None)
|
||||
params = urllib.parse.parse_qs(q)
|
||||
import json
|
||||
|
||||
assert json.loads(params["tris"][0]) == sort_by
|
||||
|
||||
|
||||
def test_hidden_columns_become_visible_csv():
|
||||
# build_view_query reçoit les colonnes MASQUÉES et stocke les VISIBLES
|
||||
q = build_view_query(None, None, ["objet"])
|
||||
params = urllib.parse.parse_qs(q)
|
||||
visible = params["colonnes"][0].split(",")
|
||||
assert "objet" not in visible
|
||||
assert len(visible) > 0
|
||||
Reference in New Issue
Block a user