toulouse-maelis: [functests] adding tests on capacities (#77634)
gitea/passerelle/pipeline/head This commit looks good
Details
gitea/passerelle/pipeline/head This commit looks good
Details
This commit is contained in:
parent
297d0dd5db
commit
e9fcbba3e4
|
@ -525,6 +525,7 @@ def create_data2(request, conn, reference_year):
|
||||||
'rl1_num': data['RL1']['num'],
|
'rl1_num': data['RL1']['num'],
|
||||||
'rl2_num': data['RL2']['num'],
|
'rl2_num': data['RL2']['num'],
|
||||||
'bart_num': data['childList'][0]['num'],
|
'bart_num': data['childList'][0]['num'],
|
||||||
|
'lisa_num': data['childList'][1]['num'],
|
||||||
'maggie_num': data['childList'][2]['num'],
|
'maggie_num': data['childList'][2]['num'],
|
||||||
'hugo_num': data['childList'][3]['num'],
|
'hugo_num': data['childList'][3]['num'],
|
||||||
'data': data,
|
'data': data,
|
||||||
|
@ -703,6 +704,20 @@ def get_loisirs_subscribe_info(con, data, year):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def get_loisirs_subscribe_info3(con, data, year):
|
||||||
|
return get_subscription_info(
|
||||||
|
'LOISIRS',
|
||||||
|
# Sigec made this loisirs activity available for functests
|
||||||
|
'Vitrail Fusing 1/2 Je Adultes',
|
||||||
|
'Inscription annuelle',
|
||||||
|
'Centre Culturel ALBAN MINVILLE',
|
||||||
|
con,
|
||||||
|
data['name_id'],
|
||||||
|
data['bart_num'],
|
||||||
|
year,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_extrasco_subscribe_info(con, data, year):
|
def get_extrasco_subscribe_info(con, data, year):
|
||||||
return get_subscription_info(
|
return get_subscription_info(
|
||||||
'EXTRASCO',
|
'EXTRASCO',
|
||||||
|
@ -745,6 +760,13 @@ def loisirs_subscribe_info2(conn, create_data2, reference_year):
|
||||||
return get_loisirs_subscribe_info(conn, create_data2, reference_year)
|
return get_loisirs_subscribe_info(conn, create_data2, reference_year)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope='session')
|
||||||
|
def loisirs_subscribe_info3(conn, create_data2, reference_year):
|
||||||
|
unlink(conn, create_data2['name_id'])
|
||||||
|
link(conn, create_data2)
|
||||||
|
return get_loisirs_subscribe_info3(conn, create_data2, reference_year)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='session')
|
@pytest.fixture(scope='session')
|
||||||
def extrasco_subscribe_info(conn, create_data, reference_year):
|
def extrasco_subscribe_info(conn, create_data, reference_year):
|
||||||
unlink(conn, create_data['name_id'])
|
unlink(conn, create_data['name_id'])
|
||||||
|
@ -759,6 +781,13 @@ def extrasco_subscribe_info2(conn, create_data, reference_year):
|
||||||
return get_extrasco_subscribe_info2(conn, create_data, reference_year)
|
return get_extrasco_subscribe_info2(conn, create_data, reference_year)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(scope='session')
|
||||||
|
def extrasco_subscribe_info3(conn, create_data2, reference_year):
|
||||||
|
unlink(conn, create_data2['name_id'])
|
||||||
|
link(conn, create_data2)
|
||||||
|
return get_extrasco_subscribe_info2(conn, create_data2, reference_year)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope='session')
|
@pytest.fixture(scope='session')
|
||||||
def perisco_subscribe_info(conn, create_data, reference_year):
|
def perisco_subscribe_info(conn, create_data, reference_year):
|
||||||
'''This fixture is a configuration trick from Sigec
|
'''This fixture is a configuration trick from Sigec
|
||||||
|
|
|
@ -33,6 +33,7 @@ def test_catalog_general_loisirs(conn, update_data):
|
||||||
in labels
|
in labels
|
||||||
)
|
)
|
||||||
assert 'Promenade forêt enchantée, TEST promenade forêt enchantée, TERRITOIRE OUEST' in labels
|
assert 'Promenade forêt enchantée, TEST promenade forêt enchantée, TERRITOIRE OUEST' in labels
|
||||||
|
assert 'Vitrail Fusing 1/2 Je Adultes, Inscription annuelle, Centre Culturel ALBAN MINVILLE' in labels
|
||||||
|
|
||||||
for item in resp.json()['data']:
|
for item in resp.json()['data']:
|
||||||
if (
|
if (
|
||||||
|
@ -197,3 +198,64 @@ def test_subscribe_to_basket(conn, create_data, loisirs_subscribe_info, referenc
|
||||||
resp = requests.post(url, json=payload)
|
resp = requests.post(url, json=payload)
|
||||||
resp.raise_for_status()
|
resp.raise_for_status()
|
||||||
assert resp.json()['err'] == 0
|
assert resp.json()['err'] == 0
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(run=False)
|
||||||
|
def test_global_capacity(conn, create_data2, loisirs_subscribe_info3, reference_year):
|
||||||
|
assert loisirs_subscribe_info3['info']['controlResult']['controlOK'] is True
|
||||||
|
unlink(conn, create_data2['name_id'])
|
||||||
|
link(conn, create_data2)
|
||||||
|
|
||||||
|
# subscribe Bart
|
||||||
|
url = conn + '/add-person-subscription?NameID=%s' % create_data2['name_id']
|
||||||
|
# url = conn + '/add-person-basket-subscription?NameID=%s' % create_data2['name_id']
|
||||||
|
payload = {
|
||||||
|
'person_id': create_data2['bart_num'],
|
||||||
|
'activity_id': loisirs_subscribe_info3['activity']['id'],
|
||||||
|
'unit_id': loisirs_subscribe_info3['unit']['id'],
|
||||||
|
'place_id': loisirs_subscribe_info3['place']['id'],
|
||||||
|
'start_date': loisirs_subscribe_info3['unit']['dateStart'][:10],
|
||||||
|
'end_date': loisirs_subscribe_info3['unit']['dateEnd'][:10],
|
||||||
|
}
|
||||||
|
resp = requests.post(url, json=payload)
|
||||||
|
resp.raise_for_status()
|
||||||
|
assert resp.json()['err'] == 0
|
||||||
|
# basket_id = resp.json()['data']['basket']['id']
|
||||||
|
|
||||||
|
# subscribe Lisa
|
||||||
|
payload['person_id'] = create_data2['lisa_num']
|
||||||
|
resp = requests.post(url, json=payload)
|
||||||
|
resp.raise_for_status()
|
||||||
|
assert resp.json()['err'] == 0
|
||||||
|
|
||||||
|
# subscribe Maggie
|
||||||
|
payload['person_id'] = create_data2['maggie_num']
|
||||||
|
resp = requests.post(url, json=payload)
|
||||||
|
resp.raise_for_status()
|
||||||
|
assert resp.json()['err'] == 0
|
||||||
|
|
||||||
|
# can't subscribe Huggo
|
||||||
|
payload['person_id'] = create_data2['hugo_num']
|
||||||
|
resp = requests.post(url, json=payload)
|
||||||
|
resp.raise_for_status()
|
||||||
|
assert resp.json()['err'] == 1
|
||||||
|
assert resp.json()['err_desc'] == ''
|
||||||
|
|
||||||
|
# check capacity on main catalog
|
||||||
|
url = conn + '/read-activity-list'
|
||||||
|
params = {'ref_date': datetime.date.today().strftime('%Y-%m-%d')}
|
||||||
|
resp = requests.get(url, params=params)
|
||||||
|
resp.raise_for_status()
|
||||||
|
assert resp.json()['err'] == 0
|
||||||
|
for item in resp.json()['data']:
|
||||||
|
if item['activity']['libelle'] == 'PUBLIK Vitrail Fusing 1/2 Je Adultes 2022/2023 - Mardi 14h-1':
|
||||||
|
import pdb
|
||||||
|
|
||||||
|
pdb.set_trace()
|
||||||
|
|
||||||
|
# # remove subscriptions
|
||||||
|
# url = conn + '/delete-basket?NameID=%s' % create_data['name_id']
|
||||||
|
# payload = {'basket_id': basket_id}
|
||||||
|
# resp = requests.post(url, json=payload)
|
||||||
|
# resp.raise_for_status()
|
||||||
|
# assert resp.json()['err'] == 0
|
||||||
|
|
|
@ -262,3 +262,61 @@ def test_subscribe_with_agenda(conn, create_data, extrasco_subscribe_info):
|
||||||
resp = requests.post(url, json=payload)
|
resp = requests.post(url, json=payload)
|
||||||
resp.raise_for_status()
|
resp.raise_for_status()
|
||||||
assert resp.json()['err'] == 0
|
assert resp.json()['err'] == 0
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(run=False)
|
||||||
|
def test_daily_capacity(conn, create_data2, extrasco_subscribe_info3):
|
||||||
|
assert extrasco_subscribe_info3['info']['controlResult']['controlOK'] is True
|
||||||
|
|
||||||
|
def subscribe(child):
|
||||||
|
url = conn + '/add-person-basket-subscription?NameID=%s' % create_data2['name_id']
|
||||||
|
payload = {
|
||||||
|
'person_id': create_data2['%s_num' % child],
|
||||||
|
'activity_id': extrasco_subscribe_info3['activity']['id'],
|
||||||
|
'unit_id': extrasco_subscribe_info3['unit']['id'],
|
||||||
|
'place_id': extrasco_subscribe_info3['place']['id'],
|
||||||
|
'start_date': extrasco_subscribe_info3['unit']['dateStart'][:10],
|
||||||
|
'end_date': extrasco_subscribe_info3['unit']['dateEnd'][:10],
|
||||||
|
}
|
||||||
|
resp = requests.post(url, json=payload)
|
||||||
|
resp.raise_for_status()
|
||||||
|
assert resp.json()['err'] == 0
|
||||||
|
return resp.json()['data']['basket']['id']
|
||||||
|
|
||||||
|
def book(child, slot):
|
||||||
|
url = conn + '/update-activity-agenda/?NameID=%s' % create_data2['name_id']
|
||||||
|
payload = {
|
||||||
|
'person_id': create_data2['%s_num' % child],
|
||||||
|
'activity_id': extrasco_subscribe_info3['activity']['id'],
|
||||||
|
'start_date': extrasco_subscribe_info3['unit']['dateStart'][:10],
|
||||||
|
'end_date': extrasco_subscribe_info3['unit']['dateEnd'][:10],
|
||||||
|
'booking_list': [slot],
|
||||||
|
}
|
||||||
|
resp = requests.post(url, json=payload)
|
||||||
|
resp.raise_for_status()
|
||||||
|
return resp
|
||||||
|
|
||||||
|
# subscribe all family childs
|
||||||
|
basket_id = subscribe('bart')
|
||||||
|
for child in 'lisa', 'maggie', 'hugo':
|
||||||
|
assert subscribe(child) == basket_id
|
||||||
|
|
||||||
|
# book all childs on the same day
|
||||||
|
assert len(extrasco_subscribe_info3['info']['agenda']) > 0
|
||||||
|
assert not any(x['prefill'] for x in extrasco_subscribe_info3['info']['agenda'])
|
||||||
|
slots = [x['id'] for x in extrasco_subscribe_info3['info']['agenda'] if x['disabled'] is False]
|
||||||
|
for child in 'bart', 'lisa', 'maggie':
|
||||||
|
resp = book(child, slots[-1])
|
||||||
|
assert resp.json()['err'] == 0
|
||||||
|
assert resp.json()['updated'] is True
|
||||||
|
assert [x['booked'] for x in resp.json()['changes']] == [True]
|
||||||
|
resp = book('hugo', slots[-1])
|
||||||
|
assert resp.json()['err'] == 1
|
||||||
|
assert resp.json()['err_desc'] == 0
|
||||||
|
|
||||||
|
# # remove subscriptions
|
||||||
|
# url = conn + '/delete-basket?NameID=%s' % create_data['name_id']
|
||||||
|
# payload = {'basket_id': basket_id}
|
||||||
|
# resp = requests.post(url, json=payload)
|
||||||
|
# resp.raise_for_status()
|
||||||
|
# assert resp.json()['err'] == 0
|
||||||
|
|
Loading…
Reference in New Issue