passerelle/functests/toulouse_maelis/test_03_petite_enfance.py

108 lines
3.8 KiB
Python

import datetime
import pytest
import requests
@pytest.mark.xfail(run=False)
def test_create_nursery_demand_on_existing_child(conn, create_data):
url = conn + '/get-nursery-geojson'
resp = requests.get(url)
resp.raise_for_status()
assert resp.json()['err'] == 0
nurseries = resp.json()['features']
assert len(nurseries) >= 2
url = conn + '/read-family?NameID=%s' % create_data['name_id']
resp = requests.get(url)
resp.raise_for_status()
res = resp.json()
assert res['err'] == 0
nb_childs = len(res['data']['childList'])
url = conn + '/create-nursery-demand'
payload = {
'family_id': create_data['family_id'],
'family_indicators/0/code': 'APE_COMPO1',
'family_indicators/0/isActive': True,
'child_id': create_data['maggie_num'],
'demand_indicators/0/code': 'APE_FIRSTC',
'demand_indicators/0/isActive': True,
'start_date': datetime.date.today().strftime('%Y-%m-%d'),
'number_of_days': '2',
'start_hour_Mon': '08:00',
'end_hour_Mon': '',
'comment': 'bla',
'accept_other_nurseries': True,
'nursery1/idActivity': nurseries[0]['properties']['activity_id'],
'nursery1/idUnit': nurseries[0]['properties']['unit_id'],
'nursery1/idPlace': nurseries[0]['properties']['place_id'],
'nursery2/idActivity': nurseries[1]['properties']['activity_id'],
'nursery2/idUnit': nurseries[1]['properties']['unit_id'],
'nursery2/idPlace': nurseries[1]['properties']['place_id'],
'nursery3/idActivity': '',
'nursery3/idUnit': '',
'nursery3/idPlace': '',
}
resp = requests.post(url, json=payload)
resp.raise_for_status()
assert resp.json() == {'data': None, 'err': 0}
# no child added
url = conn + '/read-family?NameID=%s' % create_data['name_id']
resp = requests.get(url)
resp.raise_for_status()
res = resp.json()
assert res['err'] == 0
assert len(res['data']['childList']) == nb_childs
@pytest.mark.xfail(run=False)
def test_create_nursery_demand_adding_new_child(conn, create_data):
url = conn + '/get-nursery-geojson'
resp = requests.get(url)
resp.raise_for_status()
assert resp.json()['err'] == 0
nurseries = resp.json()['features']
assert len(nurseries) >= 2
url = conn + '/read-family?NameID=%s' % create_data['name_id']
resp = requests.get(url)
resp.raise_for_status()
res = resp.json()
assert res['err'] == 0
nb_childs = len(res['data']['childList'])
url = conn + '/create-nursery-demand'
payload = {
'family_id': create_data['family_id'],
'child_first_name': 'Nelson',
'child_last_name': 'Muntz',
'child_birthdate': '2013-10-31',
'child_gender': 'G',
'start_date': datetime.date.today().strftime('%Y-%m-%d'),
'nursery1/idActivity': nurseries[0]['properties']['activity_id'],
'nursery1/idUnit': nurseries[0]['properties']['unit_id'],
'nursery1/idPlace': nurseries[0]['properties']['place_id'],
'nursery2/idActivity': nurseries[1]['properties']['activity_id'],
'nursery2/idUnit': nurseries[1]['properties']['unit_id'],
'nursery2/idPlace': nurseries[1]['properties']['place_id'],
'nursery3/idActivity': '',
'nursery3/idUnit': '',
'nursery3/idPlace': '',
}
resp = requests.post(url, json=payload)
resp.raise_for_status()
assert res['err'] == 0
child_id = resp.json()['data']
assert child_id is not None
# a new child is created on family
url = conn + '/read-family?NameID=%s' % create_data['name_id']
resp = requests.get(url)
resp.raise_for_status()
res = resp.json()
assert res['err'] == 0
assert len(res['data']['childList']) == nb_childs + 1
assert res['data']['childList'][nb_childs]['num'] == child_id