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)
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')
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')
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.')