Exemplo n.º 1
0
class QuickfilesPage(BaseQuickfilesPage, GuidBasePage):
    """Main page for a user's quickfiles. Take's a user's guid, but defaults to USER_ONE's if a guid isn't given."""

    base_url = settings.OSF_HOME + '/{guid}/quickfiles/'
    user = osf_api.current_user()

    def __init__(self, driver, verify=False, guid=user.id):
        super().__init__(driver, verify, guid)

    identity = Locator(By.ID, 'quickfiles-dropzone')
    loading_indicator = Locator(By.CSS_SELECTOR, '.ball-scale')
    upload_button = Locator(By.CSS_SELECTOR,
                            'button[data-analytics-name="Upload"]')
    share_button = Locator(By.CSS_SELECTOR, '[data-test-share-dialog-button]')
    download_button = Locator(By.CSS_SELECTOR, '[data-test-download-button]')
    download_as_zip_button = Locator(By.CSS_SELECTOR,
                                     '[data-test-download-zip-button]')
    view_button = Locator(By.CSS_SELECTOR, '[data-test-view-button]')
    help_button = Locator(By.CSS_SELECTOR, '[data-test-info-button]')
    filter_button = Locator(By.CSS_SELECTOR, '[data-test-filter-button]')
    rename_button = Locator(By.CSS_SELECTOR, '[data-test-rename-file-button]')
    delete_button = Locator(By.CSS_SELECTOR, '[data-test-delete-file-button]')
    move_button = Locator(By.CSS_SELECTOR, '[data-test-move-button]')

    filter_input = Locator(By.CSS_SELECTOR, '[data-test-filter-input]')
    filter_close_button = Locator(By.CSS_SELECTOR, '[data-test-close-filter]')
    generic_modal = Locator(By.CSS_SELECTOR, '.modal-title')
    help_modal_close_button = Locator(By.CSS_SELECTOR,
                                      '[data-test-close-current-modal]')
    share_popover = Locator(By.CSS_SELECTOR,
                            '[data-test-file-share-copyable-text]')
    move_create_new_project_button = Locator(
        By.CSS_SELECTOR, '[data-test-ps-new-project-button]')
    move_existing_project_button = Locator(
        By.CSS_SELECTOR, '[data-test-ps-existing-project-button]')
    move_modal_close_button = Locator(
        By.CSS_SELECTOR, '[data-test-move-to-project-modal-close-button]')
    confirm_delete_button = Locator(By.CSS_SELECTOR,
                                    '[data-test-delete-file-confirm-button]')
    flash_message = Locator(By.CSS_SELECTOR, '.flash-message')
    rename_input = Locator(By.CSS_SELECTOR,
                           '[data-test-rename-field="rename"]')
    rename_save_button = Locator(By.CSS_SELECTOR, '[data-test-save-rename]')
    rename_close_button = Locator(By.CSS_SELECTOR, '[data-test-close-rename]')

    # Group Locators
    files = GroupLocator(By.CSS_SELECTOR, '._file-browser-item_1v8xgw')
    file_titles = GroupLocator(By.CSS_SELECTOR, '[data-test-file-item-link]')

    # Components
    create_project_modal = ComponentLocator(EmberCreateProjectModal)
    project_created_modal = ComponentLocator(EmberProjectCreatedModal)
Exemplo n.º 2
0
class QuickfilesPage(BaseQuickfilesPage, GuidBasePage):
    """Main page for a user's quickfiles. Take's a user's guid, but defaults to USER_ONE's if a guid isn't given.
    """
    base_url = settings.OSF_HOME + '/{guid}/quickfiles/'
    user = osf_api.current_user()

    def __init__(self, driver, verify=False, guid=user.id):
        super().__init__(driver, verify, guid)

    # TODO: Add download buttons back in when you have a way to distingish them
    identity = Locator(By.CSS_SELECTOR, '#quickfiles-dropzone')
    loading_indicator = Locator(By.CSS_SELECTOR, '.ball-scale')
    upload_button = Locator(By.CSS_SELECTOR, '.dz-upload-button')
    share_button = Locator(By.CSS_SELECTOR, '#shareButton')
    view_button = Locator(By.CSS_SELECTOR, '.btn .fa-file-o')
    help_button = Locator(By.CSS_SELECTOR, '.btn .fa-info')
    filter_button = Locator(By.CSS_SELECTOR, '.btn .fa-search')
    rename_button = Locator(By.CSS_SELECTOR, '.btn .fa-pencil')
    delete_button = Locator(By.CSS_SELECTOR, '.btn .fa-trash')
    move_button = Locator(By.CSS_SELECTOR, '.btn .fa-level-up')

    # Group Locators
    files = GroupLocator(By.CSS_SELECTOR, '._file-browser-item_1v8xgw')
    file_titles = GroupLocator(By.CSS_SELECTOR, '._file-browser-item_1v8xgw a')
Exemplo n.º 3
0
class UserProfilePage(GuidBasePage):
    user = osf_api.current_user()

    def __init__(self, driver, verify=False, guid=user.id):
        super().__init__(driver, verify, guid)

    #TODO: Reconsider using a component here (and using component locators correctly)
    identity = Locator(By.CLASS_NAME, 'profile-fullname',
                       settings.LONG_TIMEOUT)
    no_public_projects_text = Locator(By.CSS_SELECTOR,
                                      '#publicProjects .help-block')
    no_public_components_text = Locator(By.CSS_SELECTOR,
                                        '#publicComponents .help-block')
    edit_profile_link = Locator(By.CSS_SELECTOR, '#edit-profile-settings')

    #TODO: Seperate out by component if it becomes necessary
    loading_indicator = Locator(By.CSS_SELECTOR, '.ball-pulse')

    # Group Locators
    public_projects = GroupLocator(By.CSS_SELECTOR,
                                   '#publicProjects .list-group-item')
    public_components = GroupLocator(By.CSS_SELECTOR,
                                     '#publicComponents .list-group-item')
    quickfiles = GroupLocator(By.CSS_SELECTOR, '#quickFiles .list-group-item')
Exemplo n.º 4
0
def check_credentials(session):
    # TODO: Add future check for USER_TWO
    try:
        osf_api.current_user(session)
    except Exception:
        pytest.exit('Your user credentials are incorrect.')