From: Peter Amstutz Date: Wed, 4 Oct 2017 12:23:00 +0000 (-0400) Subject: 12125: Expand test case. X-Git-Tag: 1.1.1~30^2~7 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/d80d6de97c0e54249bdbd1f7c92014ef6855448c 12125: Expand test case. Tests trashing project and checking that it shows up on the trash page. Tests UI using both trash/recycle buttons and using selections. Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- diff --git a/apps/workbench/test/integration/trash_test.rb b/apps/workbench/test/integration/trash_test.rb index 3e7d897d0a..d01f636dd8 100644 --- a/apps/workbench/test/integration/trash_test.rb +++ b/apps/workbench/test/integration/trash_test.rb @@ -55,32 +55,79 @@ 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['name']) do + first('.fa-recycle').click + end + else + within('tr', text: deleted['name']) do + first('input').click + end + click_button 'Selection...' + within('.selection-action-container') do + click_link 'Un-trash selected items' + end + end + + wait_for_ajax + + assert_no_text deleted['name'] + visit current_path + assert_no_text deleted['name'] + + # 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