diff --git a/src/utils.py b/src/utils.py
index 09eca00..d791cf9 100644
--- a/src/utils.py
+++ b/src/utils.py
@@ -62,6 +62,20 @@ def add_links(dff: pl.DataFrame):
for col in ["uid", "acheteur_nom", "titulaire_nom", "acheteur_id", "titulaire_id"]:
if col in dff.columns:
if col.startswith("titulaire_"):
+ detail_link = (
+ ''
+ + pl.col(col)
+ + ""
+ )
+ if col == "titulaire_nom":
+ detail_link = (
+ detail_link
+ + ' 📊'
+ )
dff = dff.with_columns(
pl.when(
pl.Expr.or_(
@@ -69,13 +83,7 @@ def add_links(dff: pl.DataFrame):
pl.col("titulaire_typeIdentifiant") == "SIRET",
)
)
- .then(
- ''
- + pl.col(col)
- + ""
- )
+ .then(detail_link)
.otherwise(pl.col(col))
.alias(col)
)
diff --git a/tests/test_main.py b/tests/test_main.py
index 39b38a2..e3f77bb 100644
--- a/tests/test_main.py
+++ b/tests/test_main.py
@@ -111,3 +111,29 @@ def test_004_add_links_observatoire_acheteur():
# acheteur_id should NOT contain observatoire link
assert "/observatoire" not in id_value
+
+
+def test_005_add_links_observatoire_titulaire():
+ import polars as pl
+
+ from src.utils import add_links
+
+ dff = pl.DataFrame(
+ {
+ "titulaire_id": ["t1"],
+ "titulaire_nom": ["TITULAIRE 1"],
+ "titulaire_typeIdentifiant": ["SIRET"],
+ }
+ )
+ result = add_links(dff)
+ nom_value = result["titulaire_nom"][0]
+ id_value = result["titulaire_id"][0]
+
+ # titulaire_nom should contain detail link + observatoire link
+ assert "/titulaires/t1" in nom_value
+ assert "TITULAIRE 1" in nom_value
+ assert "/observatoire?titulaire_id=t1" in nom_value
+ assert "📊" in nom_value
+
+ # titulaire_id should NOT contain observatoire link
+ assert "/observatoire" not in id_value