def test_can_get_register_page(driver, registrant): register_user(driver, registrant) driver.get(base_url + 'register') WebDriverWait(driver, driver_wait_time).until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – Register')) assert 'Register here for submitting proposals to the ACCU' in driver.find_element_by_class_name( 'first').text check_menu_items(driver, ('Login', ))
def test_cannot_get_submit_page_if_not_logged_in(driver, registrant): register_user(driver, registrant) driver.get(base_url + 'submit') WebDriverWait(driver, driver_wait_time).until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – Submit Not Possible')) assert 'You must be registered and logged in to submit a proposal.' in driver.find_element_by_class_name( 'first').text check_menu_items(driver, ('Register', 'Login'))
def test_cannot_get_proposal_update_page_unless_logged_in(driver, registrant): register_user(driver, registrant) driver.get(base_url + 'proposal_update/1') WebDriverWait(driver, driver_wait_time).until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – Proposal Update Failure')) assert 'You must be registered and logged in to update a proposal' in driver.find_element_by_class_name( 'first').text check_menu_items(driver, ('Register', 'Login'))
def test_cannot_get_next_proposal_if_not_logged_in(driver, registrant): register_and_login_user(driver, registrant) driver.get(base_url + 'next_proposal/2/0') WebDriverWait(driver, driver_wait_time).until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – Proposal Navigation Failed')) assert 'Logged in user is not a registered reviewer.' in driver.find_element_by_class_name( 'first').text check_menu_items(driver, ())
def test_sees_no_proposal_prior_to_submitting_one(driver, registrant): register_and_login_user(driver, registrant) driver.get(base_url + 'my_proposals') wait = WebDriverWait(driver, driver_wait_time) wait.until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – My Proposals')) element = driver.find_element_by_class_name('first') assert 'The following are your current proposals.' in element.text proposal_list = driver.find_elements_by_class_name('proposal-list') assert len(proposal_list) == 0
def submit_data_to_register_page(driver, registrant): driver.get(base_url + 'register') assert ' – Registration' in driver.find_element_by_class_name( 'pagetitle').text for key, value in registrant.items(): driver.find_element_by_id(key).send_keys(value) puzzle_text = driver.find_element_by_id('puzzle_label').text driver.find_element_by_id('puzzle').send_keys(eval(puzzle_text)) button = WebDriverWait(driver, 1).until( ecs.element_to_be_clickable((By.ID, 'submit'))) assert 'Register' in button.text assert 'registerUser()' in button.get_attribute('onclick') button.click()
def test_can_see_both_previously_submitted_proposals( driver, registrant, proposal_single_presenter, proposal_multiple_presenters_single_lead): register_and_login_user(driver, registrant) driver.get(base_url + 'my_proposals') wait = WebDriverWait(driver, driver_wait_time) wait.until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – My Proposals')) element = driver.find_element_by_class_name('first') assert 'The following are your current proposals.' in element.text proposal_list = driver.find_elements_by_class_name('proposal-list') assert len(proposal_list) == 2 assert proposal_single_presenter['title'] == proposal_list[0].text assert proposal_multiple_presenters_single_lead['title'] == proposal_list[ 1].text
def test_cannot_get_review_proposal_page_unless_logged_in(driver, registrant): register_user(driver, registrant) driver.get(base_url + 'review_proposal/1') WebDriverWait(driver, driver_wait_time).until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – Review Proposal Failed')) assert 'You must be registered, logged in, and a reviewer to review a proposal' in driver.find_element_by_class_name( 'first').text check_menu_items(driver, ('Register', 'Login'))