Exemplo n.º 1
0
def test_can_get_submit_page(driver, registrant):
    register_and_login_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 a proposal'))
    check_menu_items(driver, ())
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
def test_cannot_access_login_success_page(driver, registrant):
    register_and_login_user(driver, registrant)
    driver.get(base_url + 'login_success')
    WebDriverWait(driver, driver_wait_time).until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Call for Proposals'))
    check_menu_items(driver, ())
Exemplo n.º 4
0
def test_can_get_registration_update_page(driver, registrant):
    register_and_login_user(driver, registrant)
    driver.get(base_url + 'registration_update')
    WebDriverWait(driver, driver_wait_time).until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Registration Details Updating'))
    check_menu_items(driver, ())
Exemplo n.º 5
0
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, ())
Exemplo n.º 6
0
def test_logged_in_cannot_get_submit_success_page_if_not_just_submitted(
        driver, registrant):
    register_and_login_user(driver, registrant)
    driver.get(base_url + 'submit_success')
    WebDriverWait(driver, driver_wait_time).until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Submit Failed'))
    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, ())
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 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_can_amend_the_first_submitted_proposal(driver, registrant,
                                                proposal_single_presenter):
    register_and_login_user(driver, registrant)
    driver.get(base_url + 'proposal_update/1')
    wait = WebDriverWait(driver, driver_wait_time)
    wait.until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Update a proposal'))
    title_element = driver.find_element_by_id('title')
    assert proposal_single_presenter['title'] == title_element.get_attribute(
        'value')
    assert '' == title_element.text
    assert proposal_single_presenter['summary'] == driver.find_element_by_id(
        'summary').text
    assert proposal_single_presenter['session_type'] == Select(
        driver.find_element_by_id(
            'session_type')).first_selected_option.get_attribute('value')
    assert proposal_single_presenter['audience'] == Select(
        driver.find_element_by_id(
            'audience')).first_selected_option.get_attribute('value')
    assert proposal_single_presenter['notes'] == driver.find_element_by_id(
        'notes').text
    assert proposal_single_presenter[
        'constraints'] == driver.find_element_by_id('constraints').text
    new_title = 'This is a new title for a proposal'
    title_element.clear()
    title_element.send_keys(new_title)
    assert new_title == title_element.get_attribute('value')
    assert '' == title_element.text
    name_field = driver.find_element_by_id('name_0_field')
    assert proposal_single_presenter['presenters'][0][
        'name'] == name_field.get_attribute('value')
    assert '' == name_field.text
    new_presenter_name = 'Monty the Gerbil'
    name_field.clear()
    name_field.send_keys(new_presenter_name)
    assert new_presenter_name == name_field.get_attribute('value')
    assert '' == name_field.text
    submit_button = wait.until(ecs.element_to_be_clickable((By.ID, 'submit')))
    assert 'Update' == driver.find_element_by_id('submit').text
    assert 'submitProposal(1)' == submit_button.get_attribute('onclick')
    submit_button.click()
    wait.until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Proposal Update Successful'))
    assert 'you have successfully updated your proposal for the ACCU' in driver.find_element_by_id(
        'content').text
def test_can_submit_a_single_presenter_proposal(driver, registrant,
                                                proposal_single_presenter):
    register_and_login_user(driver, registrant)
    driver.get(base_url + 'submit')
    wait = WebDriverWait(driver, driver_wait_time)
    wait.until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Submit'))
    driver.find_element_by_id('title').send_keys(
        proposal_single_presenter['title'])
    Select(driver.find_element_by_id('session_type')).select_by_value(
        proposal_single_presenter['session_type'])
    driver.find_element_by_id('summary').send_keys(
        proposal_single_presenter['summary'])
    Select(driver.find_element_by_id('audience')).select_by_value(
        proposal_single_presenter['audience'])
    driver.find_element_by_id('notes').send_keys(
        proposal_single_presenter['notes'])
    driver.find_element_by_id('constraints').send_keys(
        proposal_single_presenter['constraints'])
    presenter = proposal_single_presenter['presenters'][0]
    for key in presenter.keys():
        if key == 'is_lead':
            selected = driver.find_element_by_id(key +
                                                 '_0_field').is_selected()
            if (presenter[key] and not selected) or (not presenter[key]
                                                     and selected):
                driver.find_element_by_id(key + '_0_field').click()
        elif key == 'country':
            Select(driver.find_element_by_id(key +
                                             '_0_field')).select_by_value(
                                                 presenter[key])
        else:
            element = driver.find_element_by_id(key + '_0_field')
            element.clear()
            element.send_keys(presenter[key])
    button = wait.until(ecs.element_to_be_clickable((By.ID, 'submit')))
    assert 'Submit' == button.text
    assert 'submitProposal()' == button.get_attribute('onclick')
    button.click()
    wait.until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Submission Successful'))
    assert 'Thank you, you have successfully submitted a proposal for the ACCU' in driver.find_element_by_id(
        'content').text
def test_can_amend_registration_record(driver, registrant):
    register_and_login_user(driver, registrant)
    driver.get(base_url + 'registration_update')
    wait = WebDriverWait(driver, driver_wait_time)
    wait.until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Registration Details Updating'))
    assert 'India' == Select(
        driver.find_element_by_id('country')).first_selected_option.text
    driver.find_element_by_id('name').send_keys('Jo Bloggs')
    button = wait.until(ecs.element_to_be_clickable((By.ID, 'submit')))
    assert 'Save' == driver.find_element_by_id('submit').text
    assert 'registerUser(false)' == button.get_attribute('onclick')
    button.click()
    wait.until(
        ecs.text_to_be_present_in_element((By.CLASS_NAME, 'pagetitle'),
                                          ' – Registration Update Successful'))
    assert 'Your registration details were successfully updated.' in driver.find_element_by_id(
        'content').text