toulouse-maelis: add service filter on get_nursery_geojson (#81538)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Nicolas Roche 2023-09-23 20:57:40 +02:00 committed by Nicolas Roche
parent bc62bdc3fd
commit 49226aca44
2 changed files with 24 additions and 1 deletions

View File

@ -3888,15 +3888,26 @@ class ToulouseMaelis(BaseResource, HTTPResource):
parameters={
'activity_type': {'description': "Type de l'activité.", 'example_value': 'CRECHCO'},
'code_psu': {'description': 'Code PSU. (REGULAR par défaut)'},
'service_ids': {
'description': 'Codes des services à filtrer, séparées par des virgules.',
'example_value': 'A10054639474, A10054639473',
},
},
)
def get_nursery_geojson(self, request, activity_type=None, code_psu='REGULAR'):
def get_nursery_geojson(self, request, activity_type=None, code_psu='REGULAR', service_ids=None):
nurseries = self.get_referential('Nursery')
geojson = {
'type': 'FeatureCollection',
'features': [],
}
service_codes = []
if service_ids:
service_codes = [x.strip() for x in str(service_ids or '').split(',') if x.strip()]
for item in nurseries:
if service_codes and item.get('idService') not in service_codes:
continue
if activity_type and item['activityType']['code'] != activity_type:
continue
if not item['place']['longitude'] or not item['place']['latitude']:

View File

@ -10312,6 +10312,18 @@ def test_get_nursery_geojson(con, app):
},
}
params = {
'activity_type': 'CRECHFAM',
'code_psu': 'REGULAR',
'service_ids': 'A10049329048,A10049327627',
}
resp = app.get(url, params=params)
assert resp.json['err'] == 0
assert len(resp.json['features']) == 2
assert all(
x['properties']['idService'] in ['A10049329048', 'A10049327627'] for x in resp.json['features']
)
def test_create_nursery_demand(ape_service, con, app):
def request_check(request):