X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c3d4b399c57e711f0cd87c2178f873a688323967..57ee96926d2d3d315ece3b2cbfb20d0fe01ab912:/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 adac0bf999..38d4063ce2 100644 --- a/apps/workbench/test/integration/projects_test.rb +++ b/apps/workbench/test/integration/projects_test.rb @@ -97,8 +97,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") @@ -151,4 +163,16 @@ class ProjectsTest < ActionDispatch::IntegrationTest add_share_and_check("groups", new_name) modify_share_and_check(new_name) end + + test "'share with group' listing does not offer projects" do + show_project_using("active") + click_on "Sharing" + click_on "Share with groups" + good_uuid = api_fixture("groups")["private"]["uuid"] + assert(page.has_selector?(".selectable[data-object-uuid=\"#{good_uuid}\"]"), + "'share with groups' listing missing owned user group") + bad_uuid = api_fixture("groups")["asubproject"]["uuid"] + assert(page.has_no_selector?(".selectable[data-object-uuid=\"#{bad_uuid}\"]"), + "'share with groups' listing includes project") + end end