forked from aurelien.plancke/ScodocTestClient
test jury complet
This commit is contained in:
parent
58371e4cad
commit
86b0e4f50e
@ -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()
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user