end
wait_for_ajax
- click_link 'Move...'
+ click_link 'Move project...'
find('.selectable', text: 'Project 1234').click
find('.modal-footer a,button', text: 'Move').click
wait_for_ajax
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}")
find(".selectable", text: name).click
assert(has_no_selector?(".modal-dialog-preview-pane"),
"preview pane available in sharing dialog")
+ if share_type == 'users'
+ 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"
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
end
end
- test "combine selected collections into new collection" do
- my_project = api_fixture('groups')['aproject']
- my_collection = api_fixture('collections')['collection_to_move_around_in_aproject']
-
- visit page_with_token 'active', '/'
- find("#projects-menu").click
- find(".dropdown-menu a", text: my_project['name']).click
- assert page.has_text?(my_collection['name']), 'Collection not found in project'
+ [
+ ['active', true],
+ ['project_viewer', false],
+ ].each do |user, expect_collection_in_aproject|
+ test "combine selected collections into new collection #{user} #{expect_collection_in_aproject}" do
+ my_project = api_fixture('groups')['aproject']
+ my_collection = api_fixture('collections')['collection_to_move_around_in_aproject']
+
+ visit page_with_token user, '/'
+ find("#projects-menu").click
+ find(".dropdown-menu a", text: my_project['name']).click
+ assert page.has_text?(my_collection['name']), 'Collection not found in project'
+
+ within('tr', text: my_collection['name']) do
+ find('input[type=checkbox]').click
+ end
- within('tr', text: my_collection['name']) do
- find('input[type=checkbox]').click
- end
+ click_button 'Selection...'
+ within('.selection-action-container') do
+ click_link 'Create new collection with selected collections'
+ end
- click_button 'Selection...'
- within('.selection-action-container') do
- click_link 'Create new collection with selected collections'
+ # now in the new collection page
+ if expect_collection_in_aproject
+ assert page.has_text?("Created new collection in the project #{my_project['name']}"),
+ 'Not found flash message that new collection is created in aproject'
+ else
+ assert page.has_text?("Created new collection in your Home project"),
+ 'Not found flash message that new collection is created in Home project'
+ end
+ assert page.has_text?('Content hash'), 'Not found content hash in collection page'
end
-
- # back in project page
- assert page.has_text?(my_collection['name']), 'Collection not found in project'
- assert page.has_link?('Jobs and pipelines'), 'Jobs and pipelines link not found in project'
end
- [["jobs", "/jobs"],
- ["pipelines", "/pipeline_instances"],
- ["collections", "/collections"]
+ [
+ ["jobs", "/jobs"],
+ ["pipelines", "/pipeline_instances"],
+ ["collections", "/collections"]
].each do |target,path|
test "Test dashboard button all #{target}" do
visit page_with_token 'active', '/'