Add a new regression test
parent
33f997412b
commit
a34ab61916
|
@ -285,7 +285,7 @@ CREATE TABLE `users_table` (
|
|||
|
||||
INSERT INTO `users_table` (`User_ID`, `Email`, `Password`, `HashPassword`, `Full_Name`, `UserType`, `Student_ID`, `Passport_Number`, `Status`) VALUES
|
||||
(3, 'admin@qq.com', '$2y$10$8GCG6lTo1LFRD3bOkAyKYeOMOrFSBUgrTxaPLS5ynWN1bYDHf89pO', '', 'Kamal', 'Admin', '0', NULL, 'Active'),
|
||||
(8, 'lanhui@qq.com', '1234', '', 'Lanhui', 'Lecturer', NULL, '123', 'Active'),
|
||||
(8, 'lanhui@qq.com', '$2y$10$8GCG6lTo1LFRD3bOkAyKYeOMOrFSBUgrTxaPLS5ynWN1bYDHf89pO', '', 'Lanhui', 'Lecturer', NULL, '123', 'Active'),
|
||||
(9, 'mohamed@qq.com', '123', '', 'Mohamed', 'Student', '201825800050', 'P00581929', 'Active'),
|
||||
(10, 'mark@qq.com', '123', '', 'Mark ', 'TA', NULL, '123', 'Active'),
|
||||
(11, 'john@qq.com', '123', '', 'John', 'TA', NULL, '123', 'Active'),
|
||||
|
|
|
@ -31,3 +31,12 @@ def login(driver, url, username, password):
|
|||
)
|
||||
except (NoSuchElementException, UnexpectedAlertPresentException) as e:
|
||||
return f"Error: {str(e)}"
|
||||
|
||||
|
||||
def logout(driver):
|
||||
logout_button = WebDriverWait(driver, 10).until(
|
||||
EC.element_to_be_clickable(
|
||||
(By.XPATH, "//a[contains(@class, 'nav-link') and contains(@href, 'logout.php')]")
|
||||
)
|
||||
)
|
||||
logout_button.click()
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
from helper import login
|
||||
from helper import login, logout
|
||||
import time
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.support.wait import WebDriverWait
|
||||
|
@ -20,18 +20,13 @@ def test_admin_can_create_lecturer_account(driver, url, admin_username, admin_pa
|
|||
elem = driver.find_element(By.NAME, 'password')
|
||||
elem.send_keys('123Abc!!')
|
||||
radio_button = driver.find_element(By.NAME, 'type')
|
||||
radio_button.click()
|
||||
radio_button.click()
|
||||
button = driver.find_element(By.NAME, 'create_btn')
|
||||
button.click()
|
||||
|
||||
# Log out Admin account
|
||||
logout_button = WebDriverWait(driver, 10).until(
|
||||
EC.element_to_be_clickable(
|
||||
(By.XPATH, "//a[contains(@class, 'nav-link') and contains(@href, 'logout.php')]")
|
||||
)
|
||||
)
|
||||
logout_button.click()
|
||||
|
||||
logout(driver)
|
||||
|
||||
# Log in Lecturer account
|
||||
login(driver, url, 'mrlan@qq.com', '123Abc!!')
|
||||
elems = driver.find_elements(By.CLASS_NAME, 'nav-link')
|
||||
|
@ -39,12 +34,31 @@ def test_admin_can_create_lecturer_account(driver, url, admin_username, admin_pa
|
|||
assert 'Mr Lan' in elems[0].text
|
||||
driver.quit()
|
||||
|
||||
|
||||
|
||||
def test_lecturer_can_create_course():
|
||||
# Lecturer mrlan@qq.com logs in
|
||||
def test_lecturer_can_create_course(driver, url, restore_database):
|
||||
# Lecturer lanhui@qq.com logs in
|
||||
driver.maximize_window()
|
||||
login(driver, url, 'lanhui@qq.com', '123')
|
||||
|
||||
# Create a course called CSC1001 Advanced Software Engineering, 2024
|
||||
assert True
|
||||
elem = driver.find_element(By.NAME, 'name')
|
||||
elem.send_keys('Advanced Software Engineering')
|
||||
elem = driver.find_element(By.NAME, 'code')
|
||||
elem.send_keys('CSC1001')
|
||||
elem = driver.find_element(By.NAME, 'academic')
|
||||
elem.send_keys('2004')
|
||||
elem = driver.find_element(By.NAME, 'faculty')
|
||||
elem.send_keys('School of Computer Science and Technology')
|
||||
elem = driver.find_element(By.CLASS_NAME, 'btn-primary')
|
||||
elem.click()
|
||||
elems = driver.find_elements(By.CLASS_NAME, 'btn-default')
|
||||
last_elem = elems[-1]
|
||||
assert 'Advanced Software Engineering' in last_elem.text
|
||||
assert '(CSC1001)' in last_elem.text
|
||||
|
||||
# Logout
|
||||
logout(driver)
|
||||
driver.quit()
|
||||
|
||||
|
||||
def test_lecturer_can_post_assignment():
|
||||
|
|
Loading…
Reference in New Issue