X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8e76d0a54757172747f93eaa797e6d1746f8cd32..1e7906c193d37eb40c734b93a8d152d87650562c:/apps/workbench/test/integration/projects_test.rb diff --git a/apps/workbench/test/integration/projects_test.rb b/apps/workbench/test/integration/projects_test.rb index d8b4cb14d6..b2c9d772d1 100644 --- a/apps/workbench/test/integration/projects_test.rb +++ b/apps/workbench/test/integration/projects_test.rb @@ -30,18 +30,20 @@ class ProjectsTest < ActionDispatch::IntegrationTest specimen_uuid = api_fixture('specimens')['owned_by_aproject_with_no_name_link']['uuid'] visit page_with_token 'active', '/projects/' + project_uuid click_link 'Other objects' - within(".selection-action-container") do - within (first('tr', text: 'Specimen')) do + within '.selection-action-container' do + # Wait for the tab to load: + assert_selector 'tr[data-kind="arvados#specimen"]' + within first('tr', text: 'Specimen') do find(".fa-pencil").click find('.editable-input input').set('Now I have a name.') find('.glyphicon-ok').click - find('.editable', text: 'Now I have a name.').click + assert_selector '.editable', text: 'Now I have a name.' find(".fa-pencil").click find('.editable-input input').set('Now I have a new name.') find('.glyphicon-ok').click - end + end wait_for_ajax - find('.editable', text: 'Now I have a new name.') + assert_selector '.editable', text: 'Now I have a new name.' end visit current_path click_link 'Other objects' @@ -97,8 +99,20 @@ class ProjectsTest < ActionDispatch::IntegrationTest assert(page.has_no_text?(name), "project is already shared with #{name}") start_share_count = share_rows.size click_on("Share with #{share_type}") - find(".selectable", text: name).click - find(".modal-footer a,button", text: "Add").click + within(".modal-container") do + # Order is important here: we should find something that appears in the + # modal before we make any assertions about what's not in the modal. + # Otherwise, the not-included assertions might falsely pass because + # the modal hasn't loaded yet. + find(".selectable", text: name).click + assert(has_no_selector?(".modal-dialog-preview-pane"), + "preview pane available in sharing dialog") + assert_raises(Capybara::ElementNotFound, + "Projects pulldown available from sharing dialog") do + click_on "All projects" + end + click_on "Add" + end using_wait_time(Capybara.default_wait_time * 3) do assert(page.has_link?(name), "new share was not added to sharing table")