X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7a98271d94163cdc4afa5bfcf275db353bc062d2..6df740c374ba869fd2aba618ab6d26ef641b6efd:/apps/workbench/test/integration/users_test.rb diff --git a/apps/workbench/test/integration/users_test.rb b/apps/workbench/test/integration/users_test.rb index 22b92c02e1..765156376f 100644 --- a/apps/workbench/test/integration/users_test.rb +++ b/apps/workbench/test/integration/users_test.rb @@ -23,7 +23,9 @@ class UsersTest < ActionDispatch::IntegrationTest assert (text.include? 'true false'), 'Expected is_active' end - click_link 'zzzzz-tpzed-xurymjxw79nv3jz' + find('tr', text: 'zzzzz-tpzed-xurymjxw79nv3jz'). + find('a,button', text: 'Show'). + click assert page.has_text? 'Attributes' assert page.has_text? 'Metadata' assert page.has_text? 'Admin' @@ -31,10 +33,10 @@ class UsersTest < ActionDispatch::IntegrationTest # go to the Attributes tab click_link 'Attributes' assert page.has_text? 'modified_by_user_uuid' - page.within(:xpath, '//a[@data-name="is_active"]') do + page.within(:xpath, '//span[@data-name="is_active"]') do assert_equal "true", text, "Expected user's is_active to be true" end - page.within(:xpath, '//a[@data-name="is_admin"]') do + page.within(:xpath, '//span[@data-name="is_admin"]') do assert_equal "false", text, "Expected user's is_admin to be false" end @@ -61,28 +63,26 @@ class UsersTest < ActionDispatch::IntegrationTest fill_in "email", :with => "foo@example.com" fill_in "repo_name", :with => "test_repo" click_button "Submit" + wait_for_ajax end - sleep(0.1) - - # verify that the new user showed up in the users page - assert page.has_text? 'foo@example.com' - - new_user_uuid = nil - all("tr").each do |elem| - if elem.text.include? 'foo@example.com' - new_user_uuid = elem.text.split[0] - break - end - end + visit '/users' + # verify that the new user showed up in the users page and find + # the new user's UUID + new_user_uuid = + find('tr[data-object-uuid]', text: 'foo@example.com'). + find('td', text: '-tpzed-'). + text assert new_user_uuid, "Expected new user uuid not found" # go to the new user's page - click_link new_user_uuid + find('tr', text: new_user_uuid). + find('a,button', text: 'Show'). + click assert page.has_text? 'modified_by_user_uuid' - page.within(:xpath, '//a[@data-name="is_active"]') do + page.within(:xpath, '//span[@data-name="is_active"]') do assert_equal "false", text, "Expected new user's is_active to be false" end @@ -102,10 +102,10 @@ class UsersTest < ActionDispatch::IntegrationTest click_link 'Users' - assert page.has_link? 'zzzzz-tpzed-xurymjxw79nv3jz' - # click on active user - click_link 'zzzzz-tpzed-xurymjxw79nv3jz' + find('tr', text: 'zzzzz-tpzed-xurymjxw79nv3jz'). + find('a,button', text: 'Show'). + click # Setup user click_link 'Admin' @@ -120,9 +120,9 @@ class UsersTest < ActionDispatch::IntegrationTest assert has_text? 'Virtual Machine' fill_in "repo_name", :with => "test_repo" click_button "Submit" + wait_for_ajax end - sleep(0.1) assert page.has_text? 'modified_by_client_uuid' click_link 'Metadata' @@ -139,9 +139,9 @@ class UsersTest < ActionDispatch::IntegrationTest fill_in "repo_name", :with => "second_test_repo" select("testvm.shell", :from => 'vm_uuid') click_button "Submit" + wait_for_ajax end - sleep(0.1) assert page.has_text? 'modified_by_client_uuid' click_link 'Metadata' @@ -161,15 +161,15 @@ class UsersTest < ActionDispatch::IntegrationTest click_link 'Users' - assert page.has_link? 'zzzzz-tpzed-xurymjxw79nv3jz' - # click on active user - click_link 'zzzzz-tpzed-xurymjxw79nv3jz' + find('tr', text: 'zzzzz-tpzed-xurymjxw79nv3jz'). + find('a,button', text: 'Show'). + click # Verify that is_active is set - click_link 'Attributes' + find('a,button', text: 'Attributes').click assert page.has_text? 'modified_by_user_uuid' - page.within(:xpath, '//a[@data-name="is_active"]') do + page.within(:xpath, '//span[@data-name="is_active"]') do assert_equal "true", text, "Expected user's is_active to be true" end @@ -185,7 +185,7 @@ class UsersTest < ActionDispatch::IntegrationTest # Should now be back in the Attributes tab for the user page.driver.browser.switch_to.alert.accept assert page.has_text? 'modified_by_user_uuid' - page.within(:xpath, '//a[@data-name="is_active"]') do + page.within(:xpath, '//span[@data-name="is_active"]') do assert_equal "false", text, "Expected user's is_active to be false after unsetup" end @@ -204,9 +204,9 @@ class UsersTest < ActionDispatch::IntegrationTest fill_in "repo_name", :with => "second_test_repo" select("testvm.shell", :from => 'vm_uuid') click_button "Submit" + wait_for_ajax end - sleep(0.1) assert page.has_text? 'modified_by_client_uuid' click_link 'Metadata'