From a1e5c3afabaa27b70ab1c957a758ab0c8b19c11f Mon Sep 17 00:00:00 2001 From: leonard_montalbano Date: Thu, 23 Jun 2022 16:20:59 +0200 Subject: [PATCH] ajout de tests unitaires pour partitions --- tests/api/test_api_partitions.py | 186 ++++++++++++++++++++----------- 1 file changed, 118 insertions(+), 68 deletions(-) diff --git a/tests/api/test_api_partitions.py b/tests/api/test_api_partitions.py index aa8994f89..aef489ca0 100644 --- a/tests/api/test_api_partitions.py +++ b/tests/api/test_api_partitions.py @@ -20,7 +20,11 @@ Utilisation : import requests from tests.api.setup_test_api import API_URL, CHECK_CERTIFICATE, api_headers -from tests.api.tools_test_api import verify_fields +from tests.api.tools_test_api import ( + verify_fields, + PARTITIONS_FIELDS, + PARTITIONS_GROUPS_ETU_FIELDS, +) def test_partition(api_headers): @@ -30,27 +34,30 @@ def test_partition(api_headers): Route : - /partitions/ """ - fields = [ - "partition_id", - "id", - "formsemestre_id", - "partition_name", - "numero", - "bul_show_rank", - "show_in_lists", - ] - + partition_id = 1 r = requests.get( - API_URL + "/partitions/1", + f"{API_URL}/partitions/{partition_id}", headers=api_headers, verify=CHECK_CERTIFICATE, ) assert r.status_code == 200 partitions = r.json() assert len(partitions) == 1 + assert isinstance(partitions, list) partition = partitions[0] - fields_ok = verify_fields(partition, fields) - assert fields_ok is True + assert isinstance(partition, dict) + assert verify_fields(partition, PARTITIONS_FIELDS) is True + assert partition_id == partition["partition_id"] + + assert isinstance(partition["partition_id"], int) + assert isinstance(partition["id"], int) + assert isinstance(partition["formsemestre_id"], int) + assert partition["partition_name"] is None or isinstance( + partition["partition_name"], str + ) + assert isinstance(partition["numero"], int) + assert isinstance(partition["bul_show_rank"], bool) + assert isinstance(partition["show_in_lists"], bool) def test_etud_in_group(api_headers): @@ -58,66 +65,109 @@ def test_etud_in_group(api_headers): Test 'etud_in_group' Routes : - - /partitions/groups/ - - /partitions/groups//etat/ + - /partition/group/ + - /partition/group//etat/ """ - fields = [ - "etudid", - "id", - "dept_id", - "nom", - "prenom", - "nom_usuel", - "civilite", - "date_naissance", - "lieu_naissance", - "dept_naissance", - "nationalite", - "statut", - "boursier", - "photo_filename", - "code_nip", - "code_ine", - "scodoc7_id", - "email", - "emailperso", - "domicile", - "codepostaldomicile", - "villedomicile", - "paysdomicile", - "telephone", - "telephonemobile", - "fax", - "typeadresse", - "description", - "group_id", - "etat", - "civilite_str", - "nom_disp", - "nomprenom", - "ne", - "email_default", - ] - + group_id = 1 r = requests.get( - API_URL + "/partitions/groups/1", + f"{API_URL}/partition/group/{group_id}", headers=api_headers, verify=CHECK_CERTIFICATE, ) - - etu = r.json()[0] - - fields_ok = verify_fields(etu, fields) - assert r.status_code == 200 - assert len(r.json()) == 16 - assert fields_ok is True - # r = requests.get( - # API_URL + "/partitions/groups/1/etat/", - # headers=api_headers, - # verify=CHECK_CERTIFICATE, - # ) - # assert r.status_code == 200 + assert isinstance(r.json(), list) + + for etu in r.json(): + assert verify_fields(etu, PARTITIONS_GROUPS_ETU_FIELDS) + assert isinstance(etu["etudid"], int) + assert isinstance(etu["id"], int) + assert isinstance(etu["dept_id"], int) + assert isinstance(etu["nom"], str) + assert isinstance(etu["prenom"], str) + assert isinstance(etu["nom_usuel"], str) + assert isinstance(etu["civilite"], str) + assert etu["date_naissance"] is None or isinstance(etu["date_naissance"], str) + assert etu["lieu_naissance"] is None or isinstance(etu["lieu_naissance"], str) + assert etu["dept_naissance"] is None or isinstance(etu["dept_naissance"], str) + assert etu["nationalite"] is None or isinstance(etu["nationalite"], str) + assert etu["statut"] is None or isinstance(etu["statut"], str) + assert etu["boursier"] is None or isinstance(etu["boursier"], bool) + assert etu["photo_filename"] is None or isinstance(etu["photo_filename"], str) + assert isinstance(etu["code_nip"], str) + assert isinstance(etu["code_ine"], str) + assert etu["scodoc7_id"] is None or isinstance(etu["scodoc7_id"], int) + assert isinstance(etu["email"], str) + assert etu["emailperso"] is None or isinstance(etu["emailperso"], str) + assert etu["domicile"] is None or isinstance(etu["domicile"], str) + assert etu["codepostaldomicile"] is None or isinstance( + etu["codepostaldomicile"], str + ) + assert etu["villedomicile"] is None or isinstance(etu["villedomicile"], str) + assert etu["paysdomicile"] is None or isinstance(etu["paysdomicile"], str) + assert etu["telephone"] is None or isinstance(etu["telephone"], str) + assert etu["telephonemobile"] is None or isinstance(etu["telephonemobile"], str) + assert etu["fax"] is None or isinstance(etu["fax"], str) + assert isinstance(etu["typeadresse"], str) + assert etu["description"] is None or isinstance(etu["description"], int) + assert isinstance(etu["group_id"], int) + assert isinstance(etu["etat"], str) + assert isinstance(etu["civilite_str"], str) + assert isinstance(etu["nom_disp"], str) + assert isinstance(etu["nomprenom"], str) + assert isinstance(etu["ne"], str) + assert isinstance(etu["email_default"], str) + + etat = "I" + r_etat = requests.get( + f"{API_URL}/partition/group/{group_id}/etat/{etat}", + headers=api_headers, + verify=CHECK_CERTIFICATE, + ) + assert r_etat.status_code == 200 + + assert isinstance(r_etat.json(), list) + + for etu in r_etat.json(): + assert verify_fields(etu, PARTITIONS_GROUPS_ETU_FIELDS) + assert isinstance(etu["etudid"], int) + assert isinstance(etu["id"], int) + assert isinstance(etu["dept_id"], int) + assert isinstance(etu["nom"], str) + assert isinstance(etu["prenom"], str) + assert isinstance(etu["nom_usuel"], str) + assert isinstance(etu["civilite"], str) + assert etu["date_naissance"] is None or isinstance(etu["date_naissance"], str) + assert etu["lieu_naissance"] is None or isinstance(etu["lieu_naissance"], str) + assert etu["dept_naissance"] is None or isinstance(etu["dept_naissance"], str) + assert etu["nationalite"] is None or isinstance(etu["nationalite"], str) + assert etu["statut"] is None or isinstance(etu["statut"], str) + assert etu["boursier"] is None or isinstance(etu["boursier"], bool) + assert etu["photo_filename"] is None or isinstance(etu["photo_filename"], str) + assert isinstance(etu["code_nip"], str) + assert isinstance(etu["code_ine"], str) + assert etu["scodoc7_id"] is None or isinstance(etu["scodoc7_id"], int) + assert isinstance(etu["email"], str) + assert etu["emailperso"] is None or isinstance(etu["emailperso"], str) + assert etu["domicile"] is None or isinstance(etu["domicile"], str) + assert etu["codepostaldomicile"] is None or isinstance( + etu["codepostaldomicile"], str + ) + assert etu["villedomicile"] is None or isinstance(etu["villedomicile"], str) + assert etu["paysdomicile"] is None or isinstance(etu["paysdomicile"], str) + assert etu["telephone"] is None or isinstance(etu["telephone"], str) + assert etu["telephonemobile"] is None or isinstance(etu["telephonemobile"], str) + assert etu["fax"] is None or isinstance(etu["fax"], str) + assert isinstance(etu["typeadresse"], str) + assert etu["description"] is None or isinstance(etu["description"], int) + assert isinstance(etu["group_id"], int) + assert isinstance(etu["etat"], str) + assert isinstance(etu["civilite_str"], str) + assert isinstance(etu["nom_disp"], str) + assert isinstance(etu["nomprenom"], str) + assert isinstance(etu["ne"], str) + assert isinstance(etu["email_default"], str) + + assert etat == etu["etat"] # # set_groups