ScodocTestClient/02_creation_formation_test.py

98 lines
3.9 KiB
Python

# coding: utf8
import unittest
import time
import subprocess
from setup import SCODOC_ADMIN_ID,SCODOC_ADMIN_PASS,BASE_URL,NOM_DPT, LINK_SCODOC_SERVER
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select, WebDriverWait
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.select import Select
URL = BASE_URL + NOM_DPT + "/Scolarite"
ACRONYME_FORMATION = "FormationTEST"
class PythonOrgSearch(unittest.TestCase):
cmdProcess = ['./scriptCreationDepartement.sh', LINK_SCODOC_SERVER, NOM_DPT]
process = subprocess.Popen(cmdProcess)
process.wait()
# Permet de se connecter et se remettre sur la page d'accueil avant chaque test
def setUp(self):
self.url = ''
self.driver = webdriver.Firefox()
self.wait = WebDriverWait(self.driver, 10)
self.driver.get(
"https://"
+ SCODOC_ADMIN_ID
+ ":"
+ SCODOC_ADMIN_PASS
+ "@scodoc-dev-iutinfo.univ-lille.fr/force_admin_authentication"
)
self.driver.get(BASE_URL + "/ScoDoc")
# Test Creer une formation
# @expected : La formation se trouve dans le tableau de la liste des formations
def test_011_create_formation(self):
driver = self.driver
driver.get(URL)
driver.find_element_by_id("ProgrammesLink").click()
self.url = driver.current_url
driver.find_element_by_id("create_formation_link").click()
self.wait.until(EC.url_changes(URL))
driver.find_element_by_id("tf_acronyme").send_keys(ACRONYME_FORMATION)
driver.find_element_by_id("tf_titre").send_keys("TEST")
driver.find_element_by_id("tf_titre_officiel").send_keys("formation de test")
driver.find_element_by_id("tf_submit").click()
driver.get(self.url)
formations = driver.find_elements_by_class_name("acronyme")
textElementAcronyme = []
for formation in formations:
textElementAcronyme.append(formation.text)
self.assertTrue(ACRONYME_FORMATION in textElementAcronyme)
def test_012_create_formation_with_same_name(self):
driver = self.driver
url = self.url
driver.get(url)
idEditFormation = "edit_Formation_" + ACRONYME_FORMATION
driver.find_element_by_id(idEditFormation).click()
self.wait.until(EC.url_changes(URL))
driver.find_element_by_id("tf_acronyme").send_keys(ACRONYME_FORMATION + ACRONYME_FORMATION)
driver.find_element_by_id("tf_submit").click()
driver.get(self.url)
formations = driver.find_elements_by_class_name(" acronyme")
textElementAcronyme = []
for formation in formations:
textElementAcronyme.append(formation.text)
self.assertTrue(ACRONYME_FORMATION + ACRONYME_FORMATION in textElementAcronyme)
def test_020_delete_formation(self):
driver = self.driver
url = self.url
driver.get(self.url)
driver.find_element_by_id("ProgrammesLink").click()
url = driver.current_url
idButtonDelete = "delete_Formation_"+ACRONYME_FORMATION
driver.find_element_by_id(idButtonDelete).click()
self.wait.until(EC.url_changes(url))
driver.find_element_by_xpath("//input[@value='Supprimer cette formation']").click()
driver.get(self.url)
try:
driver.find_element_by_id(idButtonDelete)
self.assertTrue(False)
except NoSuchElementException:
self.assertTrue(True)
# def test_create_module(self):
# driver = self.driver
# element = driver.find_element_by_name("TESTDPT")
# ferme la fenetre à chaque fin de test
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()