Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
TheoLechemia committed Mar 8, 2024
1 parent 52e7545 commit 20fd21f
Showing 1 changed file with 16 additions and 33 deletions.
49 changes: 16 additions & 33 deletions backend/geonature/tests/test_synthese.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from geonature.utils.config import config
from geonature.core.gn_permissions.tools import get_permissions
from geonature.core.gn_synthese.utils.blurring import split_blurring_precise_permissions
from geonature.core.gn_synthese.schemas import SyntheseSchema
from geonature.core.gn_synthese.utils.query_select_sqla import remove_accents
from geonature.core.sensitivity.models import cor_sensitivity_area_type
from geonature.core.gn_meta.models import TDatasets
Expand Down Expand Up @@ -163,6 +164,9 @@ class TestSynthese:
def test_required_fields_and_format(self, app, users):
# Test required fields base on VSyntheseForWebAppSchema surrounded by a custom converter : CustomRequiredConverter
# also test geojson serialization (grouped by geometry and not)
app.config["SYNTHESE"]["LIST_COLUMNS_FRONTEND"] += [
{"prop": "altitude_min", "name": "Altitude min"}
]
url_ungrouped = url_for("gn_synthese.get_observations_for_web")
set_logged_user(self.client, users["admin_user"])
resp = self.client.get(url_ungrouped)
Expand Down Expand Up @@ -349,7 +353,9 @@ def test_get_observations_for_web_filter_comment(self, users, synthese_data, tax
filters = {"has_comment": True}
r = self.client.get(url, json=filters)

assert id_synthese in (feature["properties"]["id_synthese"] for feature in r.json["features"])
assert id_synthese in (
feature["properties"]["id_synthese"] for feature in r.json["features"]
)

def test_get_observations_for_web_filter_id_source(self, users, synthese_data, source):
set_logged_user(self.client, users["self_user"])
Expand Down Expand Up @@ -435,7 +441,9 @@ def test_get_synthese_data_cruved(self, app, users, synthese_data, datasets):
assert len(features) > 0

for feat in features:
assert feat["properties"]["id_synthese"] in [synt.id_synthese for synt in synthese_data.values()]
assert feat["properties"]["id_synthese"] in [
synt.id_synthese for synt in synthese_data.values()
]
assert response.status_code == 200

def test_get_synthese_data_aggregate(self, users, datasets, synthese_data):
Expand Down Expand Up @@ -490,35 +498,6 @@ def test_filter_cor_observers(self, users, synthese_data):
# le requete doit etre OK marlgré la geom NULL
assert response.status_code == 200

@pytest.mark.parametrize(
"additionnal_column",
[("altitude_min"), ("count_min_max"), ("nom_vern_or_lb_nom")],
)
def test_get_observations_for_web_param_column_frontend(
self, app, users, synthese_data, additionnal_column
):
"""
Test de renseigner le paramètre LIST_COLUMNS_FRONTEND pour renvoyer uniquement
les colonnes souhaitées
"""
app.config["SYNTHESE"]["LIST_COLUMNS_FRONTEND"] = [
{
"prop": additionnal_column,
"name": "My label",
}
]

set_logged_user(self.client, users["self_user"])

response = self.client.get(url_for("gn_synthese.get_observations_for_web"))
data = response.get_json()

expected_columns = {"id", "url_source", additionnal_column}

assert all(
set(feature["properties"].keys()) == expected_columns for feature in data["features"]
)

@pytest.mark.parametrize(
"group_inpn",
[
Expand Down Expand Up @@ -1409,7 +1388,9 @@ def blur_sensitive_observations(monkeypatch):

def get_one_synthese_reponse_from_id(response: dict, id_synthese: int):
return [
synthese for synthese in response["features"] if synthese["properties"]["id_synthese"] == id_synthese
synthese
for synthese in response["features"]
if synthese["properties"]["id_synthese"] == id_synthese
][0]


Expand Down Expand Up @@ -1537,7 +1518,9 @@ def test_get_observations_for_web_blurring_excluded(
]
)

json_synthese_ids = (feature["properties"]["id_synthese"] for feature in response_json["features"])
json_synthese_ids = (
feature["properties"]["id_synthese"] for feature in response_json["features"]
)
assert all(synthese_id not in json_synthese_ids for synthese_id in sensitive_synthese_ids)

def test_get_observations_for_web_blurring_grouped_geom(
Expand Down

0 comments on commit 20fd21f

Please sign in to comment.