Skip to content

Commit

Permalink
add test
Browse files Browse the repository at this point in the history
  • Loading branch information
jacquesfize committed Jul 11, 2024
1 parent cc37772 commit d5c5233
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 2 deletions.
4 changes: 3 additions & 1 deletion src/ref_geo/commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ def info():
click.echo("\t{}: {}".format(area_type.type_name, count))


def change_area_activation_status(area_code, area_name, area_type, in_polygon, enable):
def change_area_activation_status(
area_code=None, area_name=None, area_type=None, in_polygon=None, enable=True
):
"""
Change the activation status of areas in the geographical referential.
Expand Down
36 changes: 35 additions & 1 deletion src/ref_geo/tests/test_ref_geo.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@

from flask import url_for, current_app
from flask_migrate import Migrate
from ref_geo.commands import change_area_activation_status
from werkzeug.exceptions import Unauthorized, BadRequest
from jsonschema import validate as validate_json
from alembic.migration import MigrationContext
from alembic.script import ScriptDirectory

from ref_geo.env import db
from ref_geo.models import BibAreasTypes, LAreas
from sqlalchemy import select
from sqlalchemy import select, update


polygon = {
Expand All @@ -29,6 +30,19 @@
}

CITY = "La Motte-en-Champsaur"
PARAMETER_ENABLE = [
(dict(area_code=["50120"]), "50120"),
(dict(area_name=["Ain"]), "01"),
(dict(area_type=["COM"]), "50100"),
(
dict(
in_polygon=[
"POLYGON ((-1.653442 49.628504, -1.588898 49.628504, -1.588898 49.653849, -1.653442 49.653849, -1.653442 49.628504))"
]
),
"50129",
),
]


def has_french_dem():
Expand Down Expand Up @@ -436,3 +450,23 @@ def test_get_types_by_name(self, area_commune):
)
assert response.status_code == 200
assert len(response.json) > 0

@pytest.mark.parametrize(
"parameters,expected_area_code",
PARAMETER_ENABLE,
)
def test_activate_areas(self, parameters):
db.execute(update(LAreas).where(LAreas.area_code == parameters[1]).values(enable=False))
change_area_activation_status(**parameters[0], enable=True)
q = select(LAreas.enable).where(LAreas.area_code == parameters[1])
assert db.session.scalar(q) == True

@pytest.mark.parametrize(
"parameters,expected_area_code",
PARAMETER_ENABLE,
)
def test_deactivate_areas(self, parameters):
db.execute(update(LAreas).where(LAreas.area_code == parameters[1]).values(enable=True))
change_area_activation_status(**parameters[0], enable=False)
q = select(LAreas.enable).where(LAreas.area_code == parameters[1])
assert db.session.scalar(q) == False

0 comments on commit d5c5233

Please sign in to comment.