diff --git a/07_test_admission.py b/07_test_admission.py index c7256f1..7783b3d 100644 --- a/07_test_admission.py +++ b/07_test_admission.py @@ -197,6 +197,25 @@ class PythonOrgSearch(unittest.TestCase): driver.get(URL_ETUDIANT) self.assertTrue("Défaillant" in driver.page_source) + def test_070_declarer_demission(self): + driver = self.driver + url = self.url + driver.get(url) + searchBar = driver.find_element_by_id("in-expnom") + searchBar.send_keys("EID10") + searchBar.submit() + time.sleep(5) + URL_ETUDIANT = driver.current_url + driver.find_element_by_xpath("//a[contains(text(),'Scolarité')]").click() + driver.find_element_by_xpath("//a[contains(@href,'formDem?')]").click() + self.wait.until(EC.url_changes(URL_ETUDIANT)) + input = driver.find_element_by_name("event_date") + input.clear() + input.send_keys("11/06/2021") + driver.find_element_by_xpath("//input[@type='submit']").click() + driver.get(URL_ETUDIANT) + self.assertTrue("Démission le " in driver.page_source) + def tearDown(self): self.driver.close() diff --git a/UserStoryNew.yaml b/UserStoryNew.yaml index 87420e6..783e2c8 100644 --- a/UserStoryNew.yaml +++ b/UserStoryNew.yaml @@ -7,6 +7,7 @@ aliases: Role2: &Secretaire Secretaire Role3: &Prof Professeur Role4: &AdminDPT AdminDepartement + Role5: &Testeur Testeur Page1: &Accueil Accueil Page2: &Absence Absence Page3: &Departement Departement @@ -14,257 +15,328 @@ aliases: Page5: &Connexion Connexion Page6: &ConnexionAdmin ConnexionAdmin Page7: &Scolarite Scolarite + Page8: &FicheEtu FicheEtudiant test1: intitulé: "Connexion en admin" operation: Acceder à la page scodoc_admin avec les identifiants admin; resultat: Connexion établie (h3 = page Administration de scodoc) etat: *DeptCreated page: *Connexion - champsModifie: null - champsInteractions: null + champsModifie: none + champsInteractions: none role: *Admin createur: Aurélien test2: intitulé: Création d'un département - operation: - Accès à la page scodoc_admin, + operation: Accès à la page scodoc_admin, séléctionner un département dans création département, clicker sur créer département, valider sur la page suivante resultat: Apparition du lien du département sur la page d'accueil etat: *DeptCreated page: *ConnexionAdmin - champs: + champsModifie: null + champsInteractions: null role: *Admin createur: Aurélien test3: intitulé: Suppression d'un département - operation: - Accès à la page scodoc_admin, + operation: Accès à la page scodoc_admin, séléctionner un département dans suppresion département, clicker sur supprimer et valider resultat: Disparition du lien du département sur la page d'accueil etat: *DeptCreated page: *ConnexionAdmin - champs: + champsModifie: null + champsInteractions: DeleteDept role: *Admin createur: Aurélien test4: intitulé: Création d'une formation - operation: - Accès à la page ScoDoc/[nom_dpt]/Scolarite/Notes/formation_create, + operation: Accès à la page ScoDoc/[nom_dpt]/Scolarite/Notes/formation_create, Remplir et soumettre le formulaire resultat: la page sur laquelle on est dirigée contient un tableau avec la formation crée, dont un id avec titre_nom_formation etat: *DeptCreated page: *Notes - champs: "titre_acronyme" + champsModifie: acronyme + champsInteractions: + [ + ProgrammesLink, + create_formation_link, + tf_acronyme, + tf_titre, + tf_titre_officiel, + tf_submit, + ] role: *AdminDPT createur: Aurélien test5: intitulé: Changer le nom d'une formation - operation: - Accès à la page /ScoDoc/[nom_dpt]/Scolarite/Notes + operation: Accès à la page /ScoDoc/[nom_dpt]/Scolarite/Notes Selectionner la formation à modifier en clickant sur son titre Remplir et soumettre le formulaire resultat: la page sur laquelle on est dirigée contient une class formation_descr etat: *DeptCreated page: *Notes - champs: + champsModifie: acronyme + champsInteractions: [edit_Formation, tf_acronyme, tf_submit] role: *AdminDPT createur: Aurélien test6: intitulé: Création d'une formation avec le même nom qu'une autre - operation: - Accès à la page ScoDoc/[nom_dpt]/Scolarite/Notes/formation_create, + operation: Accès à la page ScoDoc/[nom_dpt]/Scolarite/Notes/formation_create, Remplir et soumettre le formulaire resultat: la page sur laquelle on est dirigée contient un message d'erreur indiquant que le nom est dupliqué, la formation n'est pas créée etat: *DeptCreated page: *Notes - champs: errorMessage + champsModifie: + champsInteractions: + [ + tf_titre, + tf_acronyme, + tf_submit, + tf_titre_officiel, + create_formation_link, + errorMessage, + ] role: *AdminDPT createur: Aurélien test7: - intitulé: Ajout d'une UE à la formation créée + intitulé: Ajout d'un semestre à la formation créée operation: - Accès à la page de création d'UE dans la formation précédemment créée + Accès à la page récapitulative des formations créées, clicker sur ajouter semestre Remplir et soumettre le formulaire Soumettre le formulaire; - resultat: La page sur laquelle on est dirigée contient "Info Informatique" + resultat: La page sur laquelle on est dirigée contient "Nouveau semestre créé " et etat: *DeptCreated page: *Notes - champs: + champsModifie: + champsInteractions: + [ + tf_titre, + tf_acronyme, + tf_submit, + tf_titre_officiel, + create_formation_link, + errorMessage, + ] role: *AdminDPT createur: Aurélien test8: intitulé: Suppresion d'une formation - operation: - Accès à la page ScoDoc/[nom_dpt]/Scolarite/Notes/, + operation: Accès à la page ScoDoc/[nom_dpt]/Scolarite/Notes/, Supprimer chaque semestre qui compose cette formation, Supprimer la formation - resultat: La formation disparait du tableau des formations + resultat: La formation disparait du tableau des formations, le bouton delete_Formation disparait de la page etat: *DeptCreated page: *Notes - champs: errorMessage + champsModifie: delete_formation + champsInteractions: [delete_Formation, tf_submit] role: *AdminDPT createur: Aurélien test9: intitulé: Creer un étudiant - operation: - Scolarite/etudident_create_form + operation: Scolarite/etudident_create_form Remplir les champs et soumettre le formulaire resultat: La page contient ficheEtud avec un h2 contenant M. Normal UnEtudiant etat: *ProgramCreated page: *Scolarite - champs: + champsModifie: null + champsInteractions: + [ + link_create_etudident, + tf_nom, + tf_prenom, + tf_annee, + tf_code_nip, + dont_check_homonyms:list, + tf_submit, + ] role: *AdminDPT createur: Aurélien test10: intitulé: Creer un étudiant avec le même nip qu'un autre - operation: - Scolarite/etudident_create_form + operation: Scolarite/etudident_create_form Remplir les champs et utiliser le même NIP qu'un autre étudiant et soumettre le formulaire resultat: Redirection vers une page contenant COde étudiant dupliqué, l'étudiant n'est pas créé etat: *ProgramCreated page: *Scolarite - champs: titleError - role: [*AdminDPT,*Secretaire] + champsModifie: null + champsInteractions: + [ + tf_nom, + tf_prenom, + tf_annee, + tf_code_nip, + dont_check_homonyms:list, + tf_submit, + titleError, + ] + role: [*AdminDPT, *Secretaire] createur: Aurélien test11: intitulé: Modifier l'adresse d'un étudiant operation: Se rendre sur la fiche étudiante d'un étudiant avec l'aide de la recherche à l'id in-expnom(sidebar) Clicker sur changer de coordonnées - Remplir le formulaire et le soumestre + Remplir le formulaire et le soumestre resultat: L'élèment à l'id adresse_etudiant contient désormais les informations mise à jour. etat: *ProgramCreated page: *Scolarite - champs: adresse_etudiant - role: [*AdminDPT,*Secretaire] + champsModifie: adresse_etudiant + champsInteractions: + [in-expnom, tf_domicile, tf_codepostaldomicile, tf_paysdomicile, tf_submit] + role: [*AdminDPT, *Secretaire] createur: Aurélien test12: intitulé: Inscrire un étudiant à un semestre operation: Rechercher l'étudiant et l'inscrire au semestre courant - resultat: La fiche etu de l'étudiant contient maintenant le semstre courant + resultat: La fiche etu de l'étudiant contient maintenant le semestre courant etat: *ProgramCreated page: *Scolarite - champs: + champsModifie: null + champsInteractions: + [in-expnom, url_inscription_with_modules, inscription_Semestre_] role: *Secretaire createur: Aurélien -test14: +test13: intitulé: Supprimer un étudiant operation: Chercher l'étudiant, et utiliser le formulaire etudident_delete?etudid= en ajoutant l'euid de cette étudfiant - resultat: Cette étudiant est supprimé, aucun résultat n'apparait avec une recherche sur son nom + resultat: Cette étudiant est supprimé, aucun résultat n'apparait avec une recherche sur son nom etat: *EtudiantCreated - page: *ficheEtud - champs: - role: [*AdminDPT,*Secretaire] + page: *FicheEtu + champsModifie: null + champsInteractions: [expnom, euid] + role: [*AdminDPT, *Secretaire] createur: Aurélien -test15: +test14: intitulé: Trouver un étudiant operation: Utiliser la barre latéral pour entrer le nom de l'étudiant resultat: Redirection vers la fiche de l'étudiant en question etat: *EtudiantCreated page: *Absence - champs: in-expnom - role: [*AdminDPT,*Secretaire] + champsModifie: null + champsInteractions: expnom + role: [*AdminDPT, *Secretaire] createur: Aurélien -test16: +test15: intitulé: Creer une absence non justifiée operation: Affecter une absence à un étudiant depuis sa fiche étudiant, et utiliser 'Ajouter' dans la barre latérale resultat: La page absence de cet étudiant contient l'absence créée etat: *EtudiantCreated page: *Absence - champs: + champsModifie: null + champsInteractions: [ajout_Absence, datedebut, butsubmit] role: *Secretaire createur: Aurélien -test17: +test16: intitulé: Creer une absence justifiée operation: Affecter une absence à un étudiant depuis sa fiche étudiant, et utiliser 'Ajouter' dans la barre latérale, cocher est justifiée resultat: La page absence de cet étudiant contient l'absence créée etat: *EtudiantCreated page: *Absence - champs: + champsModifie: null + champsInteractions: [ajout_Absnece, datedebut, estjust, butsubmit] role: *Secretaire createur: Aurélien -test18: +test17: intitulé: Justifier une absence operation: Justifier une absence et la confirmer resultat: Ces absences apparaissent comme justifiée sur la page des absences de cet étudiant etat: *EtudiantCreated page: *Absence - champs: + champsModifie: null + champsInteractions: [justifier_Absence, datedebut, description] role: *Secretaire createur: Aurélien -test19: +test18: intitulé: Supprimer une absence operation: Supprimer une absence d'un étudiant depuis sa fiche étudiant, et utiliser 'Supprimer' dans la barre latérale, remplir le formulaire avec les dates des absences à justifier resultat: Ces absences apparaissent comme justifiée sur la page des absences de cet étudiant etat: *EtudiantCreated page: *Absence - champs: + champsModifie: null + champsInteractions: [supprimer_Absence, datedebut, afficher_Liste_Absence] role: *Secretaire createur: Aurélien +test19: + intitulé: Vérifier qu'il y a un semestre en cours + operation: Se rendre sur le semestre en cours correspondant depuis /Scolarité , controler si la matière en question est presente dans la liste des matières + resultat: La semestre est présente sur l'accueil des formations + etat: *MatiereCreated + page: *Scolarite + champsModifie: null + champsInteractions: [listesems] + role: *Testeur + createur: Aurélien test20: intitulé: Vérifier qu'une matière existe - operation: Se rendre sur le semestre en cours correspondant depuis /Scolarité , controler si la matière en question est presente dans la liste des matières + operation: Se rendre sur le semestre en cours correspondant depuis /Scolarité , controler si la matière en question est presente dans la liste des matières resultat: La matière est présente etat: *MatiereCreated page: *Scolarite - champs: formsemestre_status_ue + champsModifie: null + champsInteractions: [formsemestre_status_ue] role: *Testeur createur: Aurélien test21: - intitulé: Créer une interrogation - operation: Se rendre sur la matière de notre choix, ajouter une interogation, remplir le formulaire et le soumettre - resultat: L'interrogation apparait désormais dans le tableau récapitulatif de cette matière + intitulé: Changement du résponsable sur un module + operation: Se rendre sur la matière de notre choix, changer le responsable sur cette page + resultat: Le résponsable apparait désormais en haut de la matière etat: *MatiereCreated - page: Notes - champs: + page: *Notes + champsModifie: ens_Responsable + champsInteractions: [link_edit_moduleimpl_resp, responsable_id, tf_submit] role: *AdminDPT createur: Aurélien test22: - intitulé: Ajouter un enseignant sur un module + intitulé: Ajouter un enseignant sur un module operation: Se rendre sur la matière de notre choix, clicker sur ajouter un enseignant, remplir le formulaire en recherchant l'enseignant voulu resultat: Le nom de l'enseignant apparait désormais lorsqu'on se rends sur cette matière à coté d'"enseignants" etat: *MatiereCreated - page: Notes - champs: + page: *Notes + champsModifie: ens_Dans_Module + champsInteractions: [ens_id, tf_submit] role: *AdminDPT createur: Aurélien test23: + intitulé: Créer une interrogation + operation: Se rendre sur la matière de notre choix, ajouter une interogation, remplir le formulaire et le soumettre + resultat: L'interrogation apparait désormais dans le tableau récapitulatif de cette matière + etat: *MatiereCreated + page: *Notes + champsModifie: null + champsInteractions: [tf_description, tf_coefficient, tf_submit] + role: [*AdminDPT, *Prof] + createur: Aurélien +test24: + intitulé: Verifier l'existance d'une interrogation + operation: Se rendre sur la matière de notre choix, verifier que "Module" est présent + resultat: Module est présent dans formsemestre + etat: *MatiereCreated + page: *Notes + champsModifie: null + champsInteractions: [formsemestre] + role: *Prof + createur: Aurélien +test25: intitulé: Entrer des notes pour une partie des élèves operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer les notes pour une partie des élèves resultat: ATT apparait désormais à coté de l'interrogation en question sur la page de la matières concernée etat: *MatiereCreated - page: Notes - champs: + page: *Notes + champsModifie: null + champsInteractions: [notes_img, note, formnotes_submit] role: *Prof createur: Aurélien -test24: +test26: intitulé: Entrer des notes pour tout les élèves operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer les notes pour chaque élève resultat: La moyenne apparait désormais directement à côté de l'interrogation en question, les notes apparaissent dans le bulletin des élèves concernés etat: *MatiereCreated - page: - champs: - role: *Prof - createur: Aurélien -test25: - intitulé: Signaler un élève excusé pour une intérogation - operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer "EXC" pour l'élève voulu - resultat: La moyenne apparait désormais directement à côté de l'interogation en question, un compteur montre le nombre d'élève excusé - etat: *MatiereCreated - page: - champs: - role: *Prof - createur: Aurélien -test26: - intitulé: Compléter les notes manquantes - operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer les notes manquantes - resultat: La moyenne apparait désormais directement à côté de l'interogation en question, celle ci n'est plus remplacée par "ATT" - etat: *MatiereCreated - page: - champs: + page: *Notes + champsModifie: null + champsInteractions: [notes_img, note, formnotes_submit] role: *Prof createur: Aurélien test27: @@ -272,20 +344,229 @@ test27: operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer "SUPPR" pour l'étudiant voulu resultat: La moyenne n'apparait plus sur la page des matières, la note est supprimée de la fiche de l'étudiant concerné etat: *MatiereCreated - page: - champs: + page: *Notes + champsModifie: null + champsInteractions: [notes_img, note, formnotes_submit] role: *Prof createur: Aurélien -testX: - intitulé: Ajout d'une matière à l'UE créée - operation: Soumettre le formulaire d'ajout de matière - resultat: La page sur laquelle on est dirigée contient la classe notes_matiere_list et un de ses enfants contient Systeme +test28: + intitulé: Supprimer une interrogation + operation: Se rendre sur la matière de notre choix, selectionner une interogation la supprimer + resultat: Cette interrogation n'apparait plus dans la liste des interrogations de cette matière. etat: *MatiereCreated page: *Notes - champs: - role: *AdminDPT + champsModifie: null + champsInteractions: [delete_img, note, formnotes_submit] + role: *Prof createur: Aurélien -testX: +test29: + intitulé: Supprimer un enseignant du module + operation: Se rendre sur la matière de notre choix, selectionner modifier les enseignants et supprimer le professeur voulu + resultat: Cette interrogation n'apparait plus dans la liste des interrogations de cette matière. + etat: *MatiereCreated + page: *Notes + champsModifie: null + champsInteractions: [text:modifier les enseignants, text:supprimer] + role: *Prof + createur: Aurélien +test30: + intitulé: Supprimer toutess les interrogations d'un module + operation: Se rendre sur la matière de notre choix, supprimer toute les interrogations + resultat: La liste des interrogation est vide + etat: *MatiereCreated + page: *Notes + champsModifie: [link:evaluation_delete] + champsInteractions: [tf_submit] + role: *Prof + createur: Aurélien +test31: + intitulé: Ajouter deux notes identiques pour deux étudiant differents dans une même UE + operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer la note pour deux élèves + resultat: La moyenne apparait désormais directement à côté de l'interogation en question, la note apparait en tant que moyenne sur la fiche des étudiants + etat: *MatiereCreated + page: [*Notes] + champsModifie: [id:ue_] + champsInteractions: [class:status_ue_acro, link:saisie_notes, tf_submit] + role: *Prof + createur: Aurélien +test32: + intitulé: Ajouter deux notes identiques pour deux étudiant differents dans un autre UE + operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer la note pour deux élèves + resultat: La moyenne apparait désormais directement à côté de l'interogation en question, la note apparait en tant que moyenne de cet UE sur la fiche des étudiants + etat: *MatiereCreated + page: [*Notes] + champsModifie: [id:ue_] + champsInteractions: [class:status_ue_acro, link:saisie_notes, id:in-expnom] + role: *Prof + createur: Aurélien +test33: + intitulé: Vérifier le calcul de la moyenne générale + operation: Se rendre sur la fiche étudiant et vérifier que la moyenne corresponds à la somme des moyennes d'UE X leur coefficient + resultat: La moyenne correspond au calcul précédent + etat: *MatiereCreated + page: [*Notes] + champsModifie: [class:rcp_moy] + champsInteractions: [id:in-expnom] + role: *Prof + createur: Aurélien +test34: + intitulé: Modifier le coefficient d'une UE + operation: Se rendre dans le programme et modifier le coefficient d'un module + resultat: La moyenne générale prends en compte le nouveau coefficient + etat: *MatiereCreated + page: [*Notes] + champsModifie: [class:rcp_moy] + champsInteractions: + [ + id:in-expnom, + id:ProgrammesLink, + id:titre_, + id:tf_coefficient, + id:tf_submit, + ] + role: *Prof + createur: Aurélien +test35: + intitulé: Ajouter une note bonus et une note malus + operation: Se rendre sur le semestre correspondant, chercher le module et créer une interrogation bonus, entre un bonus pour un élève et un malus pour l'autre + resultat: La moyenne de cet UE est directement incrémentée ou décrémentée avec le bonus (pas de coeff), la moyenne est modifiée est conséquence + etat: *MatiereCreated + page: [*Notes] + champsModifie: [class:rcp_moy] + champsInteractions: + [ + id:in-expnom, + text:Créer nouvelle évaluation, + name:jour, + id:tf_description, + id_tf_submit, + link:saisie_notes, + id:formnotes_submit, + id:tf_submit, + ] + role: *Prof + createur: Aurélien +test36: + intitulé: Ajouter une note en attente (ATT) + operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer "ATT" pour l'élève voulu + resultat: La moyenne pour l'UE de l'interogation choisie disparait de la fiche étudiant, les autres étudiant ne sont pas impactés, le calcul de la moyenne prends en compte cet ATT + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [class:rcp_moy, class:ue_accro] + champsInteractions: [id:in-expnom] + role: *Prof + createur: Aurélien +test37: + intitulé: Ajouter une note en absence (ABS) + operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer "ABS" pour l'élève voulu + resultat: La moyenne pour l'UE de l'interogation choisie prends en compte le 0 de l'étudiant concerné, les autres étudiant ne sont pas impactés, le calcul de la moyenne prends en compte cet ABS + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [class:rcp_moy, class:ue_accro] + champsInteractions: [id:in-expnom] + role: *Prof + createur: Aurélien +test38: + intitulé: Ajouter une note en excusé (EXC) + operation: Se rendre sur la matière de notre choix, selectionner une interogation et entrer "EXC" pour l'élève voulu + resultat: La moyenne pour l'UE de l'interogation choisie disparait de la fiche étudiant, les autres étudiant ne sont pas impactés, le calcul de la moyenne prends en compte cet ATT + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [class:rcp_moy, class:ue_accro] + champsInteractions: [id:in-expnom] + role: *Prof + createur: Aurélien +test39: + intitulé: Ajouter une matière bonus + operation: + resultat: + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [class:rcp_moy, class:ue_accro] + champsInteractions: [id:in-expnom] + role: *Prof + createur: Aurélien +test40: + intitulé: Saisir la décision de jury admis pour un etudiant ayant la moyenne et assidu + operation: Se rendre sur la fiche de l'étudiant, aller dans saisir la décision de jury, choisir l'option eleve assidu + resultat: ADM apparait dans sa fiche étudiant + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [id:rcp_dec] + champsInteractions: [id:in-expnom, id:subut] + role: *Prof + createur: Aurélien +test41: + intitulé: Saisir la décision de jury admis pour un etudiant n'ayant pas la moyenne dans ses semestres et non assidu + operation: Se rendre sur la fiche de l'étudiant, aller dans saisir la décision de jury, choisir l'option eleve non assidu + resultat: ATJ apparait dans sa fiche étudiant + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [id:rcp_dec] + champsInteractions: [id:in-expnom, id:subut] + role: *Prof + createur: Aurélien +test42: + intitulé: Saisir la décision de jury admis pour un etudiant n'ayant pas la moyenne dans ses semestres et assidu + operation: Se rendre sur la fiche de l'étudiant, aller dans saisir la décision de jury, choisir l'option eleve assidu + resultat: ATB apparait dans sa fiche étudiant + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [id:rcp_dec] + champsInteractions: [id:in-expnom, id:subut] + role: *Prof + createur: Aurélien +test43: + intitulé: Saisir la décision de jury admis pour un etudiant n'ayant pas la moyenne dans ses semestres et non assidu mais validé + operation: Se rendre sur la fiche de l'étudiant, aller dans saisir la décision de jury, choisir l'option decision remise a plus tard + resultat: ATB apparait dans sa fiche étudiant + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [id:rcp_dec] + champsInteractions: [id:in-expnom, id:subut] + role: *Prof + createur: Aurélien* +test44: + intitulé: Saisir les décision de jury automatiquement pour deux élèves, tout les deux assidus, un avec la moyenne et un sans + operation: Se rendre sur le semestre concerné, clicker sur jury et valider le formulaire, vérifier sur la page des deux étudiants + resultat: ADM apparait sur la fiche de l'étudiant ayant la moyenne, celle de celui qui n'as pas la moyenne n'est pas modifiée + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [id:rcp_dec] + champsInteractions: + [ + text:semestre 2, + text:Jury, + link:formsemestre_reacapcomplet, + link:formsemestre_validation_auto, + id:in-expnom, + id:subut, + ] + role: *Prof + createur: Aurélien +test45: + intitulé: Déclarer une défaillance + operation: Se rendre sur la fiche d'un étudiant et le déclarer défaillant + resultat: Défaillant apparait désormais sur sa fiche + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [] + champsInteractions: + [id:in-expnom, text:Scolarité, link:formDef, name:event_date] + role: *Prof + createur: Aurélien +test46: + intitulé: Déclarer une démission + operation: Se rendre sur la fiche d'un étudiant et le déclarer démissionnaire + resultat: Démission le xx apparait désormais sur sa fiche + etat: *EtudiantCreated + page: [*Notes] + champsModifie: [] + champsInteractions: + [id:in-expnom, text:Scolarité, link:formDef, name:event_date] + role: *Prof + createur: Aurélien +test47: intitulé: Ajouter une session operation: Verifier que la liste de formation est présente Se rendre sur la page correspondante "Mise en place d'un semestre de formation" à la formation @@ -297,70 +578,37 @@ testX: champs: role: *AdminDPT createur: Aurélien -testX: - 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 - etat: *EtudiantCreated - page: *Absence - champs: - role: *Secretaire +test48: + intitulé: Ajout d'une UE à la formation créée + operation: + 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" + etat: *DeptCreated + page: *Notes + champsModifie: + champsInteractions: + [ + tf_titre, + tf_acronyme, + tf_submit, + tf_titre_officiel, + create_formation_link, + errorMessage, + ] + role: *AdminDPT createur: Aurélien -testX: - intitulé: Export XML de la formation - operation: Génération de l'export XML, vérifier s'il contient les informations de la formations - resultat: Le xml généré contient les informations demandées - etat: *ProgramCreated +test49: + intitulé: Ajout d'une matière à l'UE créée + operation: Soumettre le formulaire d'ajout de matière + 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: role: *AdminDPT createur: Aurélien -testX: - intitulé: Export JSON de la formation - operation: Génération de l'export JSON, vérifier s'il contient les informations de la formations - resultat: Le JSON généré contient les informations demandées - etat: *ProgramCreated - page: *Notes - champs: - role: *AdminDPT - createur: Aurélien -testX: - intitulé: Verifier la génération du récapitulatif - operation: Se rendre sur la page table récapitulative de la formation - resultat: La page contient toutes les UE et matière précédemment créées - etat: *ProgramCreated - page: *Notes - champs: - role: *AdminDPT - createur: Aurélien -testX: - intitulé: Décision recommandé de validation de semestre pour un etudiant assidu - operation: Selectionner la validation de semestre dans les opérations scolarité, séléctionner étudiant assidu et valider - resultat: L'état ATT apparait sur la fiche de l'étudiant concerné - etat: *ProgramCreated - page: *Notes - champs: - role: *Secretaire - createur: Aurélien -testX: - intitulé: Décision recommandé de validation de semestre pour un etudiant non assidu - operation: Selectionner la validation de semestre dans les opérations scolarité, séléctionner problème d'assiduité et valider - resultat: L'état ATT apparait sur la fiche de l'étudiant concerné et la mention (non ass.) apparait sur la page de parcours de l'étudiant - etat: *ProgramCreated - page: *Notes - champs: - role: *Secretaire - createur: Aurélien -testX: - intitulé: Effectuer la démission d'un étudiant - operation: Selectionner la demission dans les opérations scolarité, entrer une date et confirmer - resultat: La mention "Démission le xx" apparait sur la fiche de l'étudiant concerné - etat: *EtudiantCreated - page: *Scolarite - champs: - role: *Secretaire - createur: Aurélien -testX: +test50: 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 @@ -369,7 +617,16 @@ testX: champs: role: [*Secretaire, *Prof] createur: Aurélien -testX: +test51: + 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 + etat: *EtudiantCreated + page: *Absence + champs: + role: *Secretaire + createur: Aurélien +test52: 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 @@ -378,7 +635,7 @@ testX: champs: role: [*Secretaire, *AdminDPT] createur: Aurélien -testX: +test53: 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 @@ -387,7 +644,7 @@ testX: champs: role: [*Secretaire, *AdminDPT] createur: Aurélien -testX: +test54: 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 @@ -396,30 +653,21 @@ testX: champs: role: *Secretaire createur: Aurélien -test25: - intitulé: Verifier le calcul des notes - operation: - resultat: - etat: - page: +test60: + intitulé: Export XML de la formation + operation: Génération de l'export XML, vérifier s'il contient les informations de la formations + resultat: Le xml généré contient les informations demandées + etat: *ProgramCreated + page: *Notes champs: - role: + role: *AdminDPT createur: Aurélien -test26: - intitulé: Ajouter un module optionnel - operation: - resultat: - etat: - page: +test61: + intitulé: Export JSON de la formation + operation: Génération de l'export JSON, vérifier s'il contient les informations de la formations + resultat: Le JSON généré contient les informations demandées + etat: *ProgramCreated + page: *Notes champs: - role: - createur: Aurélien -test27: - intitulé: Ajouter une note optionnelle - operation: - resultat: - etat: - page: - champs: - role: + role: *AdminDPT createur: Aurélien diff --git a/readme.md b/readme.md index 17da6ec..48b9417 100644 --- a/readme.md +++ b/readme.md @@ -6,6 +6,9 @@ Renommer le fichier en .env Les tests sont prévus pour fonctionner avec firefox, le webdriver (geckodriver) est intégré dans le projet pour éviter de devoir l'installer manuellement, il est également possible de préciser un autre webdriver en le précisant dans le .env, en remplaçant firefox par chrome par exemple +IL y a certains module qui sont requis pour lancer ces tests pour cela les installer avec pip à l'aide des commandes suivante : +pip install selenium +pip install python-dotenv Les tests sont prévus pour fonctionner en python 3 avec unit test #TODO Lancer les test en parrallèle \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..9c8f969 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +selenium==3.141.0 +python-dotenv==0.17.1