toulouse-maelis: [functests] improve tests on scolaire (#77634)

This commit is contained in:
Nicolas Roche 2023-06-02 10:49:29 +02:00
parent cffe244f4f
commit c4afb25064
1 changed files with 66 additions and 11 deletions

View File

@ -12,7 +12,7 @@ def school_year(conn):
res = resp.json()
assert res['err'] == 0
year = res['data'][0]['text']
return str(int(year) + 1) # bug ?
return year
@pytest.fixture(scope='session')
@ -26,6 +26,59 @@ def exemption(conn):
return res['data'][0]['id']
def test_displaying_school_subscribed(conn, create_data, school_year, exemption):
"""
Read-family ramène les inscriptions aux date de visualisation paramétrées
sur le référential YearSchool
"""
school_year = str(int(school_year) + 1)
# create a 7 year-old child
url = conn + '/create-child?NameID=%s' % create_data['name_id']
payload = {
'sexe': 'F',
'firstname': 'Claris',
'lastname': create_data['lastname'],
'birth': {'dateBirth': '2016-09-12'},
}
resp = requests.post(url, json=payload)
resp.raise_for_status()
assert resp.json()['err'] == 0
claris_id = str(resp.json()['data']['child_id'])
# book
url = conn + '/create-child-school-pre-registration'
payload = {
'numPerson': claris_id,
'schoolYear': school_year,
'levelCode': 'CE1',
'dateSubscribe': school_year + '-01-01',
}
resp = requests.post(url, json=payload)
resp.raise_for_status()
assert resp.json()['err'] == 0
assert resp.json()['data']['returnMessage'] is None
assert resp.json()['data']['subscribeSchoolBean']['schoolName'] == 'DUPONT PIERRE ELEMENTAIRE'
assert resp.json()['data']['subscribeSchoolBean']['adresse'] == '101 GRANDE-RUE SAINT MICHEL'
# get Claris school from read-family
url = conn + '/read-school-years-list'
resp = requests.get(url)
resp.raise_for_status()
res = resp.json()['data']
date_start = [x['dateStartYearSchool'] for x in res if x['text'] == school_year][0]
assert date_start[10] > datetime.datetime.now().strftime('%Y-%m-%d')
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
schools = [x['subscribeSchoolList'] for x in res['data']['childList'] if x['num'] == claris_id][0]
assert len(schools) == 0 # school is filtered, but it is related to an hidden school year
# field, not dateStartYearSchool, checked before : #2425
def test_school_pre_registration_by_sector(conn, create_data, school_year, exemption):
"""
Pré-inscription de l'enfant de 7 ans dans son secteur
@ -88,21 +141,23 @@ def test_school_pre_registration_by_sector(conn, create_data, school_year, exemp
assert resp.json()['data']['subscribeSchoolBean']['adresse'] == '101 GRANDE-RUE SAINT MICHEL'
# get Sego school from read-family
url = conn + '/read-school-years-list'
resp = requests.get(url)
resp.raise_for_status()
res = resp.json()['data']
date_start = [x['dateStartYearSchool'] for x in res if x['text'] == school_year][0]
assert date_start[10] > datetime.datetime.now().strftime('%Y-%m-%d')
# school is filtered, but it is related to an hidden school year
# field, not dateStartYearSchool, see #2425
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
schools = res['data']['childList'][-1]['subscribeSchoolList']
assert len(schools) == 0 # school is filtered, see dateStartYearSchool bellow
url = conn + '/read-school-years-list'
resp = requests.get(url)
resp.raise_for_status()
res = resp.json()['data']
assert school_year == '2023'
assert res[1]['text'] == school_year
assert res[1]['dateStartYearSchool'][10] > datetime.datetime.now().strftime('%Y-%m-%d')
schools = [x['subscribeSchoolList'] for x in res['data']['childList'] if x['num'] == sego_id][0]
assert len(schools) == 1
assert schools[0]['schoolName'] == 'DUPONT PIERRE ELEMENTAIRE'
"""
Pré-inscription d'un enfant de 5 ans en CP avec rappprochement de fratrie pour celui de 7 ans :