def test_logged_in_non_reviewer_cannot_review(driver, registrant): register_and_login_user(driver, registrant) driver.get(base_url + 'review_list') WebDriverWait(driver, driver_wait_time).until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – Review List Failed')) logout_user(driver, registrant)
def test_logged_in_reviewer_can_get_review_list(driver, reviewer): register_a_reviewer(driver, reviewer) login_user(driver, reviewer) driver.get(base_url + 'review_list') WebDriverWait(driver, driver_wait_time).until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – List of Proposals')) logout_user(driver, reviewer)
def test_issue_52_amend_proposal_after_phone_change(driver, registrant, proposal_single_presenter): # Register, login, submit a proposal, change phone_number, logout, login, amend proposal register_user(driver, registrant) login_user(driver, registrant) submit_proposal(driver, proposal_single_presenter) new_phone = '+44 121 555 6666' amend_phone(driver, registrant, new_phone) logout_user(driver, registrant) registrant['phone'] = new_phone login_user(driver, registrant) amend_proposal_one(driver)
def test_issue_52_amend_proposal_after_password_change( driver, registrant, proposal_single_presenter): # Register, login, submit a proposal, change password, logout, login, amend proposal register_user(driver, registrant) login_user(driver, registrant) submit_proposal(driver, proposal_single_presenter) new_passphrase = 'squirrels having a bundle' amend_passphrase(driver, registrant, new_passphrase) logout_user(driver, registrant) registrant['passphrase'] = new_passphrase login_user(driver, registrant) amend_proposal_one(driver)
def test_logged_in_reviewer_can_review_submitted_proposal( driver, registrant, proposal_single_presenter, reviewer): register_user(driver, registrant) submit_a_proposal(driver, registrant, proposal_single_presenter) register_a_reviewer(driver, reviewer) login_user(driver, reviewer) driver.get(base_url + 'review_list') wait = WebDriverWait(driver, driver_wait_time) wait.until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – List of Proposals')) link = wait.until( ecs.element_to_be_clickable( (By.LINK_TEXT, proposal_single_presenter['title']))) link.click() wait.until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – Proposal to Review')) driver.find_element_by_id('score').send_keys(typed_score) driver.find_element_by_id('comment-for-proposer').send_keys( typed_comment_for_proposer) driver.find_element_by_id('comment-for-committee').send_keys( typed_comment_for_committee) submit_button = wait.until(ecs.element_to_be_clickable((By.ID, 'submit'))) assert 'Submit' == submit_button.text assert 'submitScoreAndComment(1)' == submit_button.get_attribute('onclick') submit_button.click() wait.until( ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'), ' – Proposal to Review')) assert 'Review stored.' == driver.find_element_by_id('alert').text assert typed_score == driver.find_element_by_id('score').get_attribute( 'value') assert typed_comment_for_proposer == driver.find_element_by_id( 'comment-for-proposer').get_attribute('value') assert typed_comment_for_committee == driver.find_element_by_id( 'comment-for-committee').get_attribute('value') logout_user(driver, reviewer)
def submit_a_proposal(driver, proposer, proposal): login_user(driver, proposer) response = driver.request('POST', base_url + 'submit', json=proposal) assert response.status_code == 200 logout_user(driver, proposer)