Source code for inginious.frontend.tests.TestLogin

# -*- coding: utf-8 -*-
from selenium.webdriver.support.ui import Select

from inginious.frontend.tests.SeleniumTest import SeleniumTest


[docs]class TestLogin(SeleniumTest):
[docs] def test_login(self): driver = self.driver driver.get(self.base_url + "/index?logoff") self.assertEqual("Hello! Welcome on the INGInious platform.", driver.find_element_by_css_selector("h2").text) driver.find_element_by_name("login").clear() driver.find_element_by_name("login").send_keys("test") driver.find_element_by_name("password").clear() driver.find_element_by_name("password").send_keys("test") driver.find_element_by_xpath("//button[@type='submit']").click() self.wait_for_presence_css(".navbar p.navbar-text") # self.assertEqual("Logged in as test", driver.find_element_by_xpath('//*[@id="wrapper"]/div[1]/div/div[2]/div/ul/li[1]/p').text) self.assertEqual("Log off", driver.find_element_by_id("logoff_button").text)
[docs]class LoggedInTest(SeleniumTest): login = "test" password = "test"
[docs] def setUp(self): super(LoggedInTest, self).setUp() driver = self.driver driver.get(self.base_url + "/index?logoff") driver.find_element_by_name("login").clear() driver.find_element_by_name("login").send_keys(self.login) driver.find_element_by_name("password").clear() driver.find_element_by_name("password").send_keys(self.password) driver.find_element_by_xpath("//button[@type='submit']").click() self.wait_for_presence_css(".navbar p.navbar-text")
[docs]class TestRegistration(LoggedInTest): login = "test3" password = "test"
[docs] def test_unregister(self): driver = self.driver driver.get(self.base_url + "/course/test") self.test_register() self.assertEqual("[LTEST0000] Test tasks : H2G2 - List of exercises", driver.find_element_by_css_selector("h2").text) driver.find_element_by_partial_link_text("Unregister from this course").click() self.assertEqual("[LTEST0000] Test tasks : H2G2", driver.find_element_by_css_selector("#register_courseid option[value=\"test\"]").text)
[docs] def test_register(self): driver = self.driver driver.get(self.base_url + "/course/test") self.assertEqual("Error 403 You are not registered to this course.", driver.find_element_by_css_selector(".alert.alert-warning").text) driver.get(self.base_url + "/index") Select(driver.find_element_by_id("register_courseid")).select_by_visible_text("[LTEST0000] Test tasks : H2G2") self.assertEqual("[LTEST0000] Test tasks : H2G2", driver.find_element_by_css_selector("#register_courseid option[value=\"test\"]").text) driver.find_element_by_xpath("//button[@type='submit']").click() driver.get(self.base_url + "/course/test") self.assertEqual("[LTEST0000] Test tasks : H2G2 - List of exercises", driver.find_element_by_css_selector("h2").text)
[docs]class RegisteredTest(LoggedInTest): course = "test"
[docs] def setUp(self): super(RegisteredTest, self).setUp() driver = self.driver driver.get(self.base_url + "/index") Select(driver.find_element_by_id("register_courseid")).select_by_visible_text("[LTEST0000] Test tasks : H2G2") driver.find_element_by_xpath("//button[@type='submit']").click()