# -*- coding: utf-8 -*-

"""Test API Jurys    XXX TODO A ECRIRE

Utilisation :
    créer les variables d'environnement: (indiquer les valeurs
    pour le serveur ScoDoc que vous voulez interroger)

    export SCODOC_URL="https://scodoc.xxx.net/"
    export SCODOC_USER="xxx"
    export SCODOC_PASSWD="xxx"
    export CHECK_CERTIFICATE=0 # ou 1 si serveur de production avec certif SSL valide

    (on peut aussi placer ces valeurs dans un fichier .env du répertoire tests/api).

    Lancer :
        pytest tests/api/test_api_jury.py
"""

import requests

from tests.api.setup_test_api import API_URL, CHECK_CERTIFICATE, api_headers


def test_jury_preparation(api_headers):
    """
    Route:
    """
    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/formsemestre/<int:formsemestre_id>/preparation_jury",
        headers=api_headers,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200


def test_jury_decisions(api_headers):
    """
    Route:
    """
    r = requests.get(
        API_URL + "/jury/formsemestre/<int:formsemestre_id>/decisions_jury",
        headers=api_headers,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200


# set_decision_jury
def test_set_decision_jury(api_headers):
    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/set_decision/etudid?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>"
        "&jury=<string:decision_jury>&devenir=<string:devenir_jury>&assiduite=<bool>",
        headers=api_headers,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200

    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/set_decision/nip?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>"
        "&jury=<string:decision_jury>&devenir=<string:devenir_jury>&assiduite=<bool>",
        headers=api_headers,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200

    r = requests.get(
        SCODOC_URL
        + "/ScoDoc/api/jury/set_decision/ine?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>"
        "&jury=<string:decision_jury>&devenir=<string:devenir_jury>&assiduite=<bool>",
        headers=api_headers,
        verify=CHECK_CERTIFICATE,
    )
    assert r.status_code == 200


# def test_annule_decision_jury(api_headers):
#     """
#     Route:
#     """
#     r = requests.get(
#         SCODOC_URL
#         + "/ScoDoc/api/jury/etudid/<int:etudid>/formsemestre/<int:formsemestre_id>/annule_decision",
#         headers=api_headers,
#         verify=CHECK_CERTIFICATE,
#     )
#     assert r.status_code == 200

#     r = requests.get(
#         SCODOC_URL
#         + "/ScoDoc/api/jury/nip/<int:nip>/formsemestre/<int:formsemestre_id>/annule_decision",
#         headers=api_headers,
#         verify=CHECK_CERTIFICATE,
#     )
#     assert r.status_code == 200

#     r = requests.get(
#         SCODOC_URL
#         + "/ScoDoc/api/jury/ine/<int:ine>/formsemestre/<int:formsemestre_id>/annule_decision",
#         headers=api_headers,
#         verify=CHECK_CERTIFICATE,
#     )
#     assert r.status_code == 200