X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a22d6e6bf03c6f274237f775a4c02122c9ce38ef..1ed38089f9d9969abde1849743f0fdf52d3d2d93:/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 67abcc9d11..66b62c3dae 100644 --- a/apps/workbench/test/integration/projects_test.rb +++ b/apps/workbench/test/integration/projects_test.rb @@ -182,7 +182,7 @@ class ProjectsTest < ActionDispatch::IntegrationTest find('#project_sharing').all('tr') end - def add_share_and_check(share_type, name) + def add_share_and_check(share_type, name, obj=nil) assert(page.has_no_text?(name), "project is already shared with #{name}") start_share_count = share_rows.size click_on("Share with #{share_type}") @@ -194,6 +194,9 @@ class ProjectsTest < ActionDispatch::IntegrationTest find(".selectable", text: name).click assert(has_no_selector?(".modal-dialog-preview-pane"), "preview pane available in sharing dialog") + if share_type == 'users' and obj and obj['email'] + assert(page.has_text?(obj['email']), "Did not find user's email") + end assert_raises(Capybara::ElementNotFound, "Projects pulldown available from sharing dialog") do click_on "All projects" @@ -240,7 +243,7 @@ class ProjectsTest < ActionDispatch::IntegrationTest show_project_using("active") click_on "Sharing" - add_share_and_check("users", new_name) + add_share_and_check("users", new_name, add_user) modify_share_and_check(new_name) end @@ -546,7 +549,7 @@ class ProjectsTest < ActionDispatch::IntegrationTest [ ['project with 10 pipelines', 10, 0], - ['project with 200 jobs and 10 pipelines', 10, 200], +# ['project with 200 jobs and 10 pipelines', 2, 200], ['project with 25 pipelines', 25, 0], ].each do |project_name, num_pipelines, num_jobs| test "scroll pipeline instances tab for #{project_name} with #{num_pipelines} pipelines and #{num_jobs} jobs" do @@ -560,7 +563,7 @@ class ProjectsTest < ActionDispatch::IntegrationTest find(".dropdown-menu a", text: project_name).click my_pipelines = [] - (1..num_pipelines).each do |i| + (0..num_pipelines-1).each do |i| name = "pipeline_#{i}" my_pipelines << name end @@ -607,4 +610,24 @@ class ProjectsTest < ActionDispatch::IntegrationTest end end + # Move button accessibility + [ + ['admin', true], + ['active', true], # project owner + ['project_viewer', false], + ].each do |user, can_move| + test "#{user} can move subproject under another user's Home #{can_move}" do + project = api_fixture('groups')['aproject'] + collection = api_fixture('collections')['collection_to_move_around_in_aproject'] + + # verify the project move button + visit page_with_token user, "/projects/#{project['uuid']}" + if can_move + assert page.has_link? 'Move project...' + else + assert page.has_no_link? 'Move project...' + end + end + end + end