test jury complet

This commit is contained in:
Aurélien Plancke 2021-06-18 16:32:37 +02:00
parent 58371e4cad
commit 86b0e4f50e
3 changed files with 113 additions and 35 deletions

View File

@ -108,9 +108,59 @@ class PythonOrgSearch(unittest.TestCase):
self.assertFalse(True) self.assertFalse(True)
self.assertTrue(True) self.assertTrue(True)
# Test : Ajout d'une UE dans la formation
# @Expected : L'UE est créée et elle apparait désormais dans la liste d'UE de la formation
def test_014_ajout_UE(self):
driver = self.driver
global URL
driver.get(URL)
idTitre = "titre_" + ACRONYME_FORMATION
driver.find_element_by_id(idTitre).click()
self.wait.until(EC.url_changes(URL))
driver.find_element_by_xpath("//a[contains(@href,'ue_create?')]").click()
driver.find_element_by_id('tf_titre').send_keys("UE TEST")
driver.find_element_by_id('tf_acronyme').send_keys("TEST")
driver.find_element_by_id('tf_submit').click()
time.sleep(1)
driver.get(URL)
driver.find_element_by_id(idTitre).click()
self.wait.until(EC.url_changes(URL))
self.assertTrue(
"TEST UE TEST"
in driver.page_source
)
driver.get(URL)
self.assertTrue((NOM_DPT.upper() + "-" + "DUT" + "--") in driver.page_source)
# Test : Ajout d'une matière dans la formation
# @Expected : La matière est créée et elle apparait désormais sur la page de détail de la formation
def test_015_ajout_matiere(self):
driver = self.driver
global URL
nomMat = "unematieretest"
driver.get(URL)
idTitre = "titre_" + ACRONYME_FORMATION
driver.find_element_by_id(idTitre).click()
self.wait.until(EC.url_changes(URL))
driver.find_element_by_xpath("//a[contains(@href,'matiere_create?')]").click()
driver.find_element_by_id('tf_titre').send_keys(nomMat)
driver.find_element_by_id('tf_numero').send_keys("1")
driver.find_element_by_id('tf_submit').click()
time.sleep(1)
driver.get(URL)
driver.find_element_by_id(idTitre).click()
self.wait.until(EC.url_changes(URL))
elements = driver.find_elements_by_xpath("//a[contains(@href,'matiere_edit?')]")
matIsPresent = False
for element in elements:
if element.text == nomMat:
matIsPresent = True
self.assertTrue(matIsPresent)
# Test : Ajout d'un semestre dans la formation # Test : Ajout d'un semestre dans la formation
# @Expected : Le semestre est créé et il apparait désormais dans la table des formations # @Expected : Le semestre est créé et il apparait désormais dans la table des formations
def test_014_ajout_Semestre(self): def test_016_ajout_Semestre(self):
driver = self.driver driver = self.driver
global URL global URL
driver.get(URL) driver.get(URL)
@ -130,7 +180,26 @@ class PythonOrgSearch(unittest.TestCase):
driver.get(URL) driver.get(URL)
self.assertTrue((NOM_DPT.upper() + "-" + "DUT" + "--") in driver.page_source) self.assertTrue((NOM_DPT.upper() + "-" + "DUT" + "--") in driver.page_source)
# Test : Dupplique une formation sous une nouvelle version
# @expected : La formation est dupliquée et à la version "2"
def test_017_creer_nouvelle_version_formation(self):
driver = self.driver
global URL
driver.get(URL)
idTitre = "titre_" + ACRONYME_FORMATION
driver.find_element_by_id(idTitre).click()
self.wait.until(EC.url_changes(URL))
tmpurl = driver.current_url
driver.find_element_by_xpath("//a[contains(@href,'formation_create_new_version?')]").click()
self.wait.until(EC.url_changes(tmpurl))
self.assertTrue("Nouvelle version !" in driver.page_source)
driver.get(URL)
elements = driver.find_elements_by_class_name("version")
versionIsPresent = False
for element in elements:
if element.text == '2':
versionIsPresent = True
self.assertTrue(versionIsPresent)
# Test : Supprime une formation après avoir supprimé les semestres qui y sont rattachés # Test : Supprime une formation après avoir supprimé les semestres qui y sont rattachés
# @expected : La formation n'apparait plus dans le tableau des formations # @expected : La formation n'apparait plus dans le tableau des formations
def test_020_delete_formation(self): def test_020_delete_formation(self):
@ -181,4 +250,7 @@ if __name__ == "__main__":
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT] cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
process = subprocess.Popen(cmdProcess) process = subprocess.Popen(cmdProcess)
process.wait() process.wait()
unittest.main() unittest.main()
cmdProcess = ["./scriptDeleteDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
process = subprocess.Popen(cmdProcess)
process.wait()

View File

@ -62,10 +62,11 @@ class PythonOrgSearch(unittest.TestCase):
).click() ).click()
self.wait.until(EC.url_changes(URL_ETUDIANT)) self.wait.until(EC.url_changes(URL_ETUDIANT))
URL_DECISION = driver.current_url URL_DECISION = driver.current_url
# TODOOOOO driver.find_element_by_id("choice_input_10").click()
driver.find_element_by_id("subut").click() driver.find_element_by_id("subut").click()
time.sleep(1)
driver.get(URL_ETUDIANT) driver.get(URL_ETUDIANT)
assertTrue("ADM" in driver.find_elements_by_id("rcp_dec")) self.assertTrue("ADM" in driver.find_element_by_class_name("rcp_dec").text)
def test_020_etudiantS1_non_assidu_avec_moy_semestre_non_valide(self): def test_020_etudiantS1_non_assidu_avec_moy_semestre_non_valide(self):
driver = self.driver driver = self.driver
@ -82,10 +83,10 @@ class PythonOrgSearch(unittest.TestCase):
).click() ).click()
self.wait.until(EC.url_changes(URL_ETUDIANT)) self.wait.until(EC.url_changes(URL_ETUDIANT))
URL_DECISION = driver.current_url URL_DECISION = driver.current_url
# TODOOOOO driver.find_element_by_id("choice_input_40").click()
driver.find_element_by_id("subut").click() driver.find_element_by_id("subut").click()
driver.get(URL_ETUDIANT) driver.get(URL_ETUDIANT)
assertTrue("ATJ" in driver.find_elements_by_id("rcp_dec")) self.assertTrue("ATJ" in driver.find_element_by_class_name("rcp_dec").text)
def test_030_etudiantS1_assidu_sous_la_moy_semestre_valide(self): def test_030_etudiantS1_assidu_sous_la_moy_semestre_valide(self):
driver = self.driver driver = self.driver
@ -102,20 +103,20 @@ class PythonOrgSearch(unittest.TestCase):
).click() ).click()
self.wait.until(EC.url_changes(URL_ETUDIANT)) self.wait.until(EC.url_changes(URL_ETUDIANT))
URL_DECISION = driver.current_url URL_DECISION = driver.current_url
# TODOOOOOOOO driver.find_element_by_id("choice_input_30").click()
driver.find_element_by_id("subut").click() driver.find_element_by_id("subut").click()
driver.get(URL_ETUDIANT) driver.get(URL_ETUDIANT)
assertTrue("ATB" in driver.find_elements_by_id("rcp_dec")) self.assertTrue("ATB" in driver.find_element_by_class_name("rcp_dec").text)
driver.find_element_by_xpath("//a[contains(text(),'Scolarité')]").click() driver.find_element_by_xpath("//a[contains(text(),'Scolarité')]").click()
driver.find_element_by_xpath( driver.find_element_by_xpath(
"//a[contains(@href,'formsemestre_validation_etud_form?')]" "//a[contains(@href,'formsemestre_validation_etud_form?')]"
).click() ).click()
self.wait.until(EC.url_changes(URL_ETUDIANT)) self.wait.until(EC.url_changes(URL_ETUDIANT))
URL_DECISION = driver.current_url URL_DECISION = driver.current_url
# TODOOOOOOOO driver.find_element_by_id("choice_input_580").click()
driver.find_element_by_id("subut").click() driver.find_element_by_id("subut").click()
driver.get(URL_ETUDIANT) driver.get(URL_ETUDIANT)
assertTrue("ATB" in driver.find_elements_by_id("rcp_dec")) self.assertTrue("ATB" in driver.find_element_by_class_name("rcp_dec").text)
def test_040_etudiantS1_non_assidu_sous_la_moy_semestre_valide(self): def test_040_etudiantS1_non_assidu_sous_la_moy_semestre_valide(self):
driver = self.driver driver = self.driver
@ -132,20 +133,20 @@ class PythonOrgSearch(unittest.TestCase):
).click() ).click()
self.wait.until(EC.url_changes(URL_ETUDIANT)) self.wait.until(EC.url_changes(URL_ETUDIANT))
URL_DECISION = driver.current_url URL_DECISION = driver.current_url
# TODOOOOOOOO driver.find_element_by_id("choice_input_40").click()
driver.find_element_by_id("subut").click() driver.find_element_by_id("subut").click()
driver.get(URL_ETUDIANT) driver.get(URL_ETUDIANT)
assertTrue("ATJ" in driver.find_elements_by_id("rcp_dec")) self.assertTrue("ATJ" in driver.find_element_by_class_name("rcp_dec").text)
driver.find_element_by_xpath("//a[contains(text(),'Scolarité')]").click() driver.find_element_by_xpath("//a[contains(text(),'Scolarité')]").click()
driver.find_element_by_xpath( driver.find_element_by_xpath(
"//a[contains(@href,'formsemestre_validation_etud_form?')]" "//a[contains(@href,'formsemestre_validation_etud_form?')]"
).click() ).click()
self.wait.until(EC.url_changes(URL_ETUDIANT)) self.wait.until(EC.url_changes(URL_ETUDIANT))
URL_DECISION = driver.current_url URL_DECISION = driver.current_url
# TODOOOOOOOO driver.find_element_by_id("choice_input_580").click()
driver.find_element_by_id("subut").click() driver.find_element_by_id("subut").click()
driver.get(URL_ETUDIANT) driver.get(URL_ETUDIANT)
assertTrue("ATB" in driver.find_elements_by_id("rcp_dec")) self.assertTrue("ATB" in driver.find_element_by_class_name("rcp_dec").text)
def test_050_calcul_automatiqueS2_jury(self): def test_050_calcul_automatiqueS2_jury(self):
driver = self.driver driver = self.driver
@ -155,13 +156,12 @@ class PythonOrgSearch(unittest.TestCase):
self.wait.until(EC.url_changes(url)) self.wait.until(EC.url_changes(url))
urlTmp = driver.current_url urlTmp = driver.current_url
driver.find_element_by_xpath("//a[contains(text(),'Jury')]").click() driver.find_element_by_xpath("//a[contains(text(),'Jury')]").click()
driver.find_element_by_xpath( driver.find_element_by_link_text("Saisie des décisions du jury")
"//a[contains(@href,'formsemestre_recapcomplet?')]"
).click()
self.wait.until(EC.url_changes(urlTmp)) self.wait.until(EC.url_changes(urlTmp))
time.sleep(1)
urlTmp = driver.current_url urlTmp = driver.current_url
driver.find_element_by_xpath( driver.find_element_by_xpath(
"//a[contains(@href,'formsemestre_validation_auto?')]" "//a[contains(@href,'formsemestre_validation_auto')]"
).click() ).click()
self.wait.until(EC.url_changes(urlTmp)) self.wait.until(EC.url_changes(urlTmp))
urlTmp = driver.current_url urlTmp = driver.current_url
@ -171,12 +171,12 @@ class PythonOrgSearch(unittest.TestCase):
searchBar.send_keys("EID7") searchBar.send_keys("EID7")
searchBar.submit() searchBar.submit()
time.sleep(5) time.sleep(5)
assertTrue("ADM" in driver.find_elements_by_id("rcp_dec")) self.assertTrue("ADM" in driver.find_element_by_class_name("rcp_dec").text)
searchBar = driver.find_element_by_id("in-expnom") searchBar = driver.find_element_by_id("in-expnom")
searchBar.send_keys("EID10") searchBar.send_keys("EID10")
searchBar.submit() searchBar.submit()
time.sleep(5) time.sleep(5)
assertTrue("en cours" in driver.find_elements_by_id("rcp_dec")) self.assertTrue("en cours" in driver.find_element_by_class_name("rcp_dec").text)
def test_060_declarer_defaillance(self): def test_060_declarer_defaillance(self):
driver = self.driver driver = self.driver

View File

@ -584,18 +584,16 @@ test48:
Accès à la page de création d'UE dans la formation précédemment créée Accès à la page de création d'UE dans la formation précédemment créée
Remplir et soumettre le formulaire Remplir et soumettre le formulaire
Soumettre le formulaire; Soumettre le formulaire;
resultat: La page sur laquelle on est dirigée contient "Info Informatique" resultat: Le nom et l'accronyme de l'UE sont dans la page de la formation
etat: *DeptCreated etat: *DeptCreated
page: *Notes page: *Notes
champsModifie: champsModifie: null
champsInteractions: champsInteractions:
[ [
tf_titre, id:tf_titre,
tf_acronyme, id:tf_acronyme,
tf_submit, id:tf_submit,
tf_titre_officiel, link:ue_create
create_formation_link,
errorMessage,
] ]
role: *AdminDPT role: *AdminDPT
createur: Aurélien createur: Aurélien
@ -605,10 +603,18 @@ test49:
resultat: La page sur laquelle on est dirigée contient la classe notes_matiere_list et un de ses enfants contient Systeme resultat: La page sur laquelle on est dirigée contient la classe notes_matiere_list et un de ses enfants contient Systeme
etat: *MatiereCreated etat: *MatiereCreated
page: *Notes page: *Notes
champs: champsModifie: null
champsInteractions:
[
id:tf_titre,
id:tf_acronyme,
id:tf_submit,
link:matiere_create
link:matiere_edit
]
role: *AdminDPT role: *AdminDPT
createur: Aurélien createur: Aurélien
test50: test51:
intitulé: Affecter des absences à un étudiant depuis la gestion des absences intitulé: Affecter des absences à un étudiant depuis la gestion des absences
operation: Selectionner la semaine concernée et cocher les cases correspondantes pour un étudiant operation: Selectionner la semaine concernée et cocher les cases correspondantes pour un étudiant
resultat: Le compteur d'absence de l'étudiant à été mis à jour resultat: Le compteur d'absence de l'étudiant à été mis à jour
@ -617,7 +623,7 @@ test50:
champs: champs:
role: [*Secretaire, *Prof] role: [*Secretaire, *Prof]
createur: Aurélien createur: Aurélien
test51: test52:
intitulé: Générer les absences pour une journée intitulé: Générer les absences pour une journée
operation: Généner le récapitulatif des absences operation: Généner le récapitulatif des absences
resultat: La page générée contient les absences préalablement créée resultat: La page générée contient les absences préalablement créée
@ -626,7 +632,7 @@ test51:
champs: champs:
role: *Secretaire role: *Secretaire
createur: Aurélien createur: Aurélien
test52: test53:
intitulé: Créer une répartition intitulé: Créer une répartition
operation: Dans le menu modifier créer des groupes, rentrer le nom de la partition et clicker sur nouvelle partition operation: Dans le menu modifier créer des groupes, rentrer le nom de la partition et clicker sur nouvelle partition
resultat: Le tableau contient une nouvelle ligne avec le nom de la partition préalablement rempli resultat: Le tableau contient une nouvelle ligne avec le nom de la partition préalablement rempli
@ -635,7 +641,7 @@ test52:
champs: champs:
role: [*Secretaire, *AdminDPT] role: [*Secretaire, *AdminDPT]
createur: Aurélien createur: Aurélien
test53: test54:
intitulé: Créer un groupe intitulé: Créer un groupe
operation: Dans le menu modifier/créer des groupes, clicker sur répartir à coté de la partition concernée, remplir groupName et appuyer sur créer groupe operation: Dans le menu modifier/créer des groupes, clicker sur répartir à coté de la partition concernée, remplir groupName et appuyer sur créer groupe
resultat: Le groupe apprait dans la div groups resultat: Le groupe apprait dans la div groups
@ -644,7 +650,7 @@ test53:
champs: champs:
role: [*Secretaire, *AdminDPT] role: [*Secretaire, *AdminDPT]
createur: Aurélien createur: Aurélien
test54: test55:
intitulé: Affecter des étudiants à un groupe intitulé: Affecter des étudiants à un groupe
operation: Dans une répartition, déplacer des étudiants de étudiants sans groupe au groupe souhaité, enregister ces groupes operation: Dans une répartition, déplacer des étudiants de étudiants sans groupe au groupe souhaité, enregister ces groupes
resultat: Le groupe (discretelink) apparait maintenant sur la fiche des étudiants correspondant resultat: Le groupe (discretelink) apparait maintenant sur la fiche des étudiants correspondant