108 lines
3.8 KiB
Python
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
|