forked from ScoDoc/DocScoDoc
ajout tests unitaires absences
This commit is contained in:
parent
5834412dfc
commit
281539dd3b
@ -21,6 +21,12 @@ import requests
|
||||
from tests.api.setup_test_api import API_URL, CHECK_CERTIFICATE, api_headers
|
||||
|
||||
# Etudiant pour les tests
|
||||
from tests.api.tools_test_api import (
|
||||
verify_fields,
|
||||
ABSENCES_FIELDS,
|
||||
ABSENCES_GROUP_ETAT_FIELDS,
|
||||
)
|
||||
|
||||
ETUDID = 1
|
||||
|
||||
|
||||
@ -29,10 +35,8 @@ def test_absences(api_headers):
|
||||
"""
|
||||
Test 'absences'
|
||||
|
||||
Routes :
|
||||
Route :
|
||||
- /absences/etudid/<int:etudid>
|
||||
- /absences/nip/<int:nip>
|
||||
- /absences/ine/<int:ine>
|
||||
"""
|
||||
r = requests.get(
|
||||
f"{API_URL}/absences/etudid/{ETUDID}",
|
||||
@ -40,6 +44,20 @@ def test_absences(api_headers):
|
||||
verify=CHECK_CERTIFICATE,
|
||||
)
|
||||
assert r.status_code == 200
|
||||
absences = r.json()
|
||||
|
||||
assert isinstance(absences, list)
|
||||
for abs in absences:
|
||||
assert verify_fields(abs, ABSENCES_FIELDS) is True
|
||||
assert isinstance(abs["jour"], str)
|
||||
assert isinstance(abs["matin"], bool)
|
||||
assert isinstance(abs["estabs"], bool)
|
||||
assert isinstance(abs["estjust"], bool)
|
||||
assert isinstance(abs["description"], str)
|
||||
assert isinstance(abs["begin"], str)
|
||||
assert isinstance(abs["end"], str)
|
||||
|
||||
assert abs["begin"] < abs["end"]
|
||||
|
||||
|
||||
# absences_justify
|
||||
@ -47,32 +65,144 @@ def test_absences_justify(api_headers):
|
||||
"""
|
||||
Test 'absences_just'
|
||||
|
||||
Routes :
|
||||
Route :
|
||||
- /absences/etudid/<int:etudid>/just
|
||||
- /absences/nip/<int:nip>/just
|
||||
- /absences/ine/<int:ine>/just
|
||||
"""
|
||||
r = requests.get(
|
||||
API_URL + f"/absences/etudid/{ETUDID}/just",
|
||||
f"{API_URL}/absences/etudid/{ETUDID}/just",
|
||||
headers=api_headers,
|
||||
verify=CHECK_CERTIFICATE,
|
||||
)
|
||||
assert r.status_code == 200
|
||||
# TODO vérifier résultat
|
||||
absences = r.json()
|
||||
|
||||
assert isinstance(absences, list)
|
||||
for abs in absences:
|
||||
assert verify_fields(abs, ABSENCES_FIELDS) is True
|
||||
assert isinstance(abs["jour"], str)
|
||||
assert isinstance(abs["matin"], bool)
|
||||
assert isinstance(abs["estabs"], bool)
|
||||
assert isinstance(abs["estjust"], bool)
|
||||
assert isinstance(abs["description"], str)
|
||||
assert isinstance(abs["begin"], str)
|
||||
assert isinstance(abs["end"], str)
|
||||
|
||||
assert abs["begin"] < abs["end"]
|
||||
|
||||
|
||||
def test_abs_groupe_etat(api_headers):
|
||||
"""
|
||||
Test 'abs_groupe_etat'
|
||||
|
||||
Routes :
|
||||
- /absences/abs_group_etat/<int:group_id>
|
||||
- /absences/abs_group_etat/group_id/<int:group_id>/date_debut/<string:date_debut>/date_fin/<string:date_fin>
|
||||
"""
|
||||
group_id = 1
|
||||
r = requests.get(
|
||||
f"{API_URL}/absences/abs_group_etat/{group_id}",
|
||||
headers=api_headers,
|
||||
verify=CHECK_CERTIFICATE,
|
||||
)
|
||||
assert r.status_code == 200
|
||||
|
||||
list_absences = r.json()
|
||||
|
||||
assert isinstance(list_absences, list)
|
||||
list_id_etu = []
|
||||
for etu in list_absences:
|
||||
list_id_etu.append(etu["etudid"])
|
||||
assert verify_fields(etu, ABSENCES_GROUP_ETAT_FIELDS) is True
|
||||
assert isinstance(etu["etudid"], int)
|
||||
assert isinstance(etu["list_abs"], list)
|
||||
|
||||
list_abs = etu["list_abs"]
|
||||
for abs in list_abs:
|
||||
assert verify_fields(abs, ABSENCES_FIELDS) is True
|
||||
assert isinstance(abs["jour"], str)
|
||||
assert isinstance(abs["matin"], bool)
|
||||
assert isinstance(abs["estabs"], bool)
|
||||
assert isinstance(abs["estjust"], bool)
|
||||
assert isinstance(abs["description"], str)
|
||||
assert isinstance(abs["begin"], str)
|
||||
assert isinstance(abs["end"], str)
|
||||
|
||||
assert abs["begin"] < abs["end"]
|
||||
|
||||
all_unique = True
|
||||
for id in list_id_etu:
|
||||
if list_id_etu.count(id) > 1:
|
||||
all_unique = False
|
||||
assert all_unique is True
|
||||
|
||||
date_debut = "Fri, 15 Apr 2021 00:00:00 GMT"
|
||||
date_fin = "Fri, 18 Apr 2022 00:00:00 GMT"
|
||||
|
||||
r1 = requests.get(
|
||||
f"{API_URL}/absences/abs_group_etat/group_id/{group_id}/date_debut/{date_debut}/date_fin/{date_fin}",
|
||||
headers=api_headers,
|
||||
verify=CHECK_CERTIFICATE,
|
||||
)
|
||||
assert r1.status_code == 200
|
||||
|
||||
list_absences1 = r.json()
|
||||
|
||||
assert isinstance(list_absences1, list)
|
||||
list_id_etu1 = []
|
||||
for etu in list_absences1:
|
||||
list_id_etu1.append(etu["etudid"])
|
||||
assert verify_fields(etu, ABSENCES_GROUP_ETAT_FIELDS) is True
|
||||
assert isinstance(etu["etudid"], int)
|
||||
assert isinstance(etu["list_abs"], list)
|
||||
|
||||
list_abs1 = etu["list_abs"]
|
||||
for abs in list_abs1:
|
||||
assert verify_fields(abs, ABSENCES_FIELDS) is True
|
||||
assert isinstance(abs["jour"], str)
|
||||
assert isinstance(abs["matin"], bool)
|
||||
assert isinstance(abs["estabs"], bool)
|
||||
assert isinstance(abs["estjust"], bool)
|
||||
assert isinstance(abs["description"], str)
|
||||
assert isinstance(abs["begin"], str)
|
||||
assert isinstance(abs["end"], str)
|
||||
|
||||
assert abs["begin"] < abs["end"]
|
||||
|
||||
all_unique1 = True
|
||||
for id in list_id_etu1:
|
||||
if list_id_etu1.count(id) > 1:
|
||||
all_unique1 = False
|
||||
assert all_unique1 is True
|
||||
|
||||
|
||||
# XXX TODO
|
||||
# def test_abs_groupe_etat(api_headers):
|
||||
# def reset_etud_abs(api_headers):
|
||||
# """
|
||||
# Test 'abs_groupe_etat'
|
||||
#
|
||||
# Routes :
|
||||
# - /absences/abs_group_etat/<int:group_id>
|
||||
# - /absences/abs_group_etat/group_id/<int:group_id>/date_debut/<string:date_debut>/date_fin/<string:date_fin>
|
||||
# - /absences/etudid/<int:etudid>/list_abs/<string:list_abs>/reset_etud_abs
|
||||
# - /absences/etudid/<int:etudid>/list_abs/<string:list_abs>/reset_etud_abs/only_not_just
|
||||
# - /absences/etudid/<int:etudid>/list_abs/<string:list_abs>/reset_etud_abs/only_just
|
||||
# """
|
||||
# list_abs = []
|
||||
# r = requests.get(
|
||||
# API_URL + "/absences/abs_group_etat/group_id/<int:group_id>/date_debut/<string:date_debut>/"
|
||||
# "date_fin/<string:date_fin>",
|
||||
# f"{API_URL}/absences/etudid/{ETUDID}/list_abs/{list_abs}/reset_etud_abs",
|
||||
# headers=api_headers,
|
||||
# verify=CHECK_CERTIFICATE,
|
||||
# )
|
||||
# assert r.status_code == 200
|
||||
#
|
||||
# r_only_not_just = requests.get(
|
||||
# f"{API_URL}/absences/etudid/{ETUDID}/list_abs/{list_abs}/reset_etud_abs/only_not_just",
|
||||
# headers=api_headers,
|
||||
# verify=CHECK_CERTIFICATE,
|
||||
# )
|
||||
# assert r.status_code == 200
|
||||
#
|
||||
#
|
||||
# r_only_just = requests.get(
|
||||
# f"{API_URL}/absences/etudid/{ETUDID}/list_abs/{list_abs}/reset_etud_abs/only_just",
|
||||
# headers=api_headers,
|
||||
# verify=CHECK_CERTIFICATE,
|
||||
# )
|
||||
|
Loading…
Reference in New Issue
Block a user