X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e951503aca74be84ea501d4316e38a662210b247..397981dadc145225c691c8643b10527c9710f1fb:/apps/workbench/test/integration/trash_test.rb diff --git a/apps/workbench/test/integration/trash_test.rb b/apps/workbench/test/integration/trash_test.rb index 3e7d897d0a..22732a3d95 100644 --- a/apps/workbench/test/integration/trash_test.rb +++ b/apps/workbench/test/integration/trash_test.rb @@ -46,7 +46,9 @@ class TrashTest < ActionDispatch::IntegrationTest wait_for_ajax - assert_no_text expired1['name'] + assert_text "The collection with UUID #{expired1['uuid']} is in the trash" + + click_on "Click here to untrash '#{expired1['name']}'" # verify that the two un-trashed items are now shown in /collections page visit page_with_token('active', "/collections") @@ -55,32 +57,77 @@ class TrashTest < ActionDispatch::IntegrationTest assert_no_text expired2['uuid'] end - test "trashed projects" do - deleted = api_fixture('groups')['trashed_project'] - - # verify that the un-trashed item are missing in /groups page - visit page_with_token('active', "/groups") - assert_no_text deleted['uuid'] - - # visit trash page - visit page_with_token('active', "/trash") - click_on "Trashed projects" - - assert_text deleted['name'] - assert_text deleted['uuid'] - - # Un-trash item using the recycle button - within('tr', text: deleted['name']) do - first('.fa-recycle').click + ["button","selection"].each do |method| + test "trashed projects using #{method}" do + deleted = api_fixture('groups')['trashed_project'] + aproject = api_fixture('groups')['aproject'] + + # verify that the un-trashed item are missing in /groups page + visit page_with_token('active', "/projects/zzzzz-tpzed-xurymjxw79nv3jz") + click_on "Subprojects" + assert_no_text deleted['name'] + + # visit trash page + visit page_with_token('active', "/trash") + click_on "Trashed projects" + + assert_text deleted['name'] + assert_text deleted['uuid'] + assert_no_text aproject['name'] + assert_no_text aproject['uuid'] + + # Un-trash item + if method == "button" + within('tr', text: deleted['uuid']) do + first('.fa-recycle').click + end + assert_text "The group with UUID #{deleted['uuid']} is in the trash" + click_on "Click here to untrash '#{deleted['name']}'" + else + within('tr', text: deleted['uuid']) do + first('input').click + end + click_button 'Selection...' + within('.selection-action-container') do + click_link 'Un-trash selected items' + end + wait_for_ajax + assert_no_text deleted['uuid'] + end + + # check that the un-trashed item are now shown on parent project page + visit page_with_token('active', "/projects/zzzzz-tpzed-xurymjxw79nv3jz") + click_on "Subprojects" + assert_text deleted['name'] + assert_text aproject['name'] + + # Trash another item + if method == "button" + within('tr', text: aproject['name']) do + first('.fa-trash-o').click + end + else + within('tr', text: aproject['name']) do + first('input').click + end + click_button 'Selection' + within('.selection-action-container') do + click_link 'Remove selected' + end + end + + wait_for_ajax + assert_no_text aproject['name'] + visit current_path + assert_no_text aproject['name'] + + # visit trash page + visit page_with_token('active', "/trash") + click_on "Trashed projects" + + assert_text aproject['name'] + assert_text aproject['uuid'] end - - wait_for_ajax - - assert_no_text deleted['uuid'] - - # verify that the un-trashed item are now shown in /groups page - visit page_with_token('active', "/groups") - assert_text deleted['uuid'] end test "trash page with search" do