test: adapter les tests DataTable historiques à la migration AG Grid de /tableau (#41)
This commit is contained in:
+14
-3
@@ -73,7 +73,13 @@ def test_002_filter_persistence(dash_duo: DashComposite):
|
||||
)
|
||||
return _filter_input_in_view(dash_duo, filter_input_selector)
|
||||
|
||||
for page in ["tableau", "acheteurs/123", "titulaires/345"]:
|
||||
# /tableau utilise désormais AG Grid (dash-ag-grid) au lieu de dash_table.DataTable ;
|
||||
# la persistance de ses filtres/colonnes est couverte par persistence=True et
|
||||
# persisted_props=["filterModel", "columnState"] configurés dans la fabrique
|
||||
# ag_grid() de src/figures.py, et a été vérifiée manuellement via un navigateur
|
||||
# réel (Task 12 du plan #41). Une couverture Selenium dédiée à AG Grid pourrait
|
||||
# être ajoutée ultérieurement.
|
||||
for page in ["acheteurs/123", "titulaires/345"]:
|
||||
filter_input = open_page_and_check_filter_input()
|
||||
filter_input.send_keys("11") # valeur quelconque, on teste la persistance
|
||||
filter_input.send_keys(Keys.ENTER)
|
||||
@@ -347,13 +353,18 @@ def test_014_get_distance_histogram_all_nulls():
|
||||
assert isinstance(result, dcc.Graph)
|
||||
|
||||
|
||||
def test_015_tableau_filter_date(dash_duo: DashComposite):
|
||||
def test_015_org_pages_filter_date(dash_duo: DashComposite):
|
||||
from src.app import app
|
||||
|
||||
dash_duo.start_server(app)
|
||||
dash_duo.wait_for_text_to_equal(".logo > h1", "colibre", timeout=4)
|
||||
|
||||
for page in ["tableau", "acheteurs/123", "titulaires/345"]:
|
||||
# /tableau utilise désormais AG Grid ; le filtrage de sa colonne date est
|
||||
# couvert par les tests unitaires de compilation SQL dans
|
||||
# tests/test_query_ast.py (ex. test_date_range_uses_between) et a été
|
||||
# vérifié manuellement (Task 12 du plan #41). Une couverture Selenium
|
||||
# dédiée au filtre de date AG Grid pourrait être ajoutée ultérieurement.
|
||||
for page in ["acheteurs/123", "titulaires/345"]:
|
||||
dash_duo.wait_for_page(f"{dash_duo.server_url}/{page}")
|
||||
filter_input = '.marches_table th[data-dash-column="dateNotification"] input'
|
||||
filter_cell_result = '.marches_table td[data-dash-column="dateNotification"] p'
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
from dash.testing.composite import DashComposite
|
||||
|
||||
|
||||
def test_tableau_hscroll_bar_present(dash_duo: DashComposite):
|
||||
"""La barre de défilement est injectée et le conteneur scroll horizontalement."""
|
||||
def test_marches_table_hscroll_bar_present(dash_duo: DashComposite):
|
||||
"""La barre de défilement est injectée et le conteneur scroll horizontalement.
|
||||
|
||||
Testé via /acheteurs/123 : depuis la migration de /tableau vers AG Grid
|
||||
(qui gère son propre défilement horizontal nativement), cette page-ci ne
|
||||
rend plus de dash_table.DataTable. .marches_table (et table_hscroll.js)
|
||||
reste utilisé par acheteur.py, observatoire.py et titulaire.py, donc ce
|
||||
comportement reste couvert via une de ces pages.
|
||||
"""
|
||||
from src.app import app
|
||||
|
||||
dash_duo.start_server(app)
|
||||
dash_duo.wait_for_page(f"{dash_duo.server_url}/tableau")
|
||||
dash_duo.wait_for_page(f"{dash_duo.server_url}/acheteurs/123")
|
||||
dash_duo.wait_for_element(".marches_table", timeout=20)
|
||||
# Barre injectée par table_hscroll.js
|
||||
dash_duo.wait_for_element(".marches_table .dt-hscroll", timeout=10)
|
||||
|
||||
Reference in New Issue
Block a user