From 86b0e4f50e578f128f35e0fa5c78002ec8e65376 Mon Sep 17 00:00:00 2001 From: aurelien Date: Fri, 18 Jun 2021 16:32:37 +0200 Subject: [PATCH] test jury complet --- 02_creation_formation_test.py | 78 +++++++++++++++++++++++++++++++++-- 07_test_admission.py | 36 ++++++++-------- UserStoryNew.yaml | 34 ++++++++------- 3 files changed, 113 insertions(+), 35 deletions(-) diff --git a/02_creation_formation_test.py b/02_creation_formation_test.py index 5cbd09d..2ac140a 100644 --- a/02_creation_formation_test.py +++ b/02_creation_formation_test.py @@ -108,9 +108,59 @@ class PythonOrgSearch(unittest.TestCase): self.assertFalse(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 # @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 global URL driver.get(URL) @@ -130,7 +180,26 @@ class PythonOrgSearch(unittest.TestCase): driver.get(URL) 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 # @expected : La formation n'apparait plus dans le tableau des formations def test_020_delete_formation(self): @@ -181,4 +250,7 @@ if __name__ == "__main__": cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT] process = subprocess.Popen(cmdProcess) process.wait() - unittest.main() \ No newline at end of file + unittest.main() + cmdProcess = ["./scriptDeleteDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT] + process = subprocess.Popen(cmdProcess) + process.wait() diff --git a/07_test_admission.py b/07_test_admission.py index 7783b3d..d074a36 100644 --- a/07_test_admission.py +++ b/07_test_admission.py @@ -62,10 +62,11 @@ class PythonOrgSearch(unittest.TestCase): ).click() self.wait.until(EC.url_changes(URL_ETUDIANT)) URL_DECISION = driver.current_url - # TODOOOOO + driver.find_element_by_id("choice_input_10").click() driver.find_element_by_id("subut").click() + time.sleep(1) 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): driver = self.driver @@ -82,10 +83,10 @@ class PythonOrgSearch(unittest.TestCase): ).click() self.wait.until(EC.url_changes(URL_ETUDIANT)) URL_DECISION = driver.current_url - # TODOOOOO + driver.find_element_by_id("choice_input_40").click() driver.find_element_by_id("subut").click() 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): driver = self.driver @@ -102,20 +103,20 @@ class PythonOrgSearch(unittest.TestCase): ).click() self.wait.until(EC.url_changes(URL_ETUDIANT)) URL_DECISION = driver.current_url - # TODOOOOOOOO + driver.find_element_by_id("choice_input_30").click() driver.find_element_by_id("subut").click() 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(@href,'formsemestre_validation_etud_form?')]" ).click() self.wait.until(EC.url_changes(URL_ETUDIANT)) URL_DECISION = driver.current_url - # TODOOOOOOOO + driver.find_element_by_id("choice_input_580").click() driver.find_element_by_id("subut").click() 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): driver = self.driver @@ -132,20 +133,20 @@ class PythonOrgSearch(unittest.TestCase): ).click() self.wait.until(EC.url_changes(URL_ETUDIANT)) URL_DECISION = driver.current_url - # TODOOOOOOOO + driver.find_element_by_id("choice_input_40").click() driver.find_element_by_id("subut").click() 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(@href,'formsemestre_validation_etud_form?')]" ).click() self.wait.until(EC.url_changes(URL_ETUDIANT)) URL_DECISION = driver.current_url - # TODOOOOOOOO + driver.find_element_by_id("choice_input_580").click() driver.find_element_by_id("subut").click() 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): driver = self.driver @@ -155,13 +156,12 @@ class PythonOrgSearch(unittest.TestCase): self.wait.until(EC.url_changes(url)) urlTmp = driver.current_url driver.find_element_by_xpath("//a[contains(text(),'Jury')]").click() - driver.find_element_by_xpath( - "//a[contains(@href,'formsemestre_recapcomplet?')]" - ).click() + driver.find_element_by_link_text("Saisie des décisions du jury") self.wait.until(EC.url_changes(urlTmp)) + time.sleep(1) urlTmp = driver.current_url driver.find_element_by_xpath( - "//a[contains(@href,'formsemestre_validation_auto?')]" + "//a[contains(@href,'formsemestre_validation_auto')]" ).click() self.wait.until(EC.url_changes(urlTmp)) urlTmp = driver.current_url @@ -171,12 +171,12 @@ class PythonOrgSearch(unittest.TestCase): searchBar.send_keys("EID7") searchBar.submit() 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.send_keys("EID10") searchBar.submit() 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): driver = self.driver diff --git a/UserStoryNew.yaml b/UserStoryNew.yaml index 783e2c8..6edd429 100644 --- a/UserStoryNew.yaml +++ b/UserStoryNew.yaml @@ -584,18 +584,16 @@ test48: Accès à la page de création d'UE dans la formation précédemment créée Remplir et 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 page: *Notes - champsModifie: + champsModifie: null champsInteractions: [ - tf_titre, - tf_acronyme, - tf_submit, - tf_titre_officiel, - create_formation_link, - errorMessage, + id:tf_titre, + id:tf_acronyme, + id:tf_submit, + link:ue_create ] role: *AdminDPT 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 etat: *MatiereCreated page: *Notes - champs: + champsModifie: null + champsInteractions: + [ + id:tf_titre, + id:tf_acronyme, + id:tf_submit, + link:matiere_create + link:matiere_edit + ] role: *AdminDPT createur: Aurélien -test50: +test51: 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 resultat: Le compteur d'absence de l'étudiant à été mis à jour @@ -617,7 +623,7 @@ test50: champs: role: [*Secretaire, *Prof] createur: Aurélien -test51: +test52: intitulé: Générer les absences pour une journée operation: Généner le récapitulatif des absences resultat: La page générée contient les absences préalablement créée @@ -626,7 +632,7 @@ test51: champs: role: *Secretaire createur: Aurélien -test52: +test53: 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 resultat: Le tableau contient une nouvelle ligne avec le nom de la partition préalablement rempli @@ -635,7 +641,7 @@ test52: champs: role: [*Secretaire, *AdminDPT] createur: Aurélien -test53: +test54: 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 resultat: Le groupe apprait dans la div groups @@ -644,7 +650,7 @@ test53: champs: role: [*Secretaire, *AdminDPT] createur: Aurélien -test54: +test55: 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 resultat: Le groupe (discretelink) apparait maintenant sur la fiche des étudiants correspondant