From a715140af08e42667f9ab6dd91b35d873117649d Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Thu, 23 Apr 2026 00:07:24 +0200 Subject: [PATCH] =?UTF-8?q?test(observatoire):=20int=C3=A9gration=20DuckDB?= =?UTF-8?q?=20pour=20prepare=5Fdashboard=5Fdata=20(#72)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/test_prepare_dashboard_data.py | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tests/test_prepare_dashboard_data.py diff --git a/tests/test_prepare_dashboard_data.py b/tests/test_prepare_dashboard_data.py new file mode 100644 index 0000000..369a299 --- /dev/null +++ b/tests/test_prepare_dashboard_data.py @@ -0,0 +1,47 @@ +import polars as pl + + +def test_returns_dataframe_with_year_filter(): + from src.utils.data import prepare_dashboard_data + + dff = prepare_dashboard_data(dashboard_year="2025") + assert isinstance(dff, pl.DataFrame) + assert dff.height == 1 + + +def test_year_mismatch_returns_empty(): + from src.utils.data import prepare_dashboard_data + + dff = prepare_dashboard_data(dashboard_year="2024") + assert isinstance(dff, pl.DataFrame) + assert dff.height == 0 + + +def test_acheteur_id_partial_match(): + from src.utils.data import prepare_dashboard_data + + dff = prepare_dashboard_data( + dashboard_year="2025", + dashboard_acheteur_id="12", + ) + assert dff.height == 1 + + +def test_departement_in_clause(): + from src.utils.data import prepare_dashboard_data + + dff = prepare_dashboard_data( + dashboard_year="2025", + dashboard_acheteur_departement_code=["75", "92"], + ) + assert dff.height == 1 + + +def test_montant_min_above_value_excludes_row(): + from src.utils.data import prepare_dashboard_data + + dff = prepare_dashboard_data( + dashboard_year="2025", + dashboard_montant_min=1000, + ) + assert dff.height == 0