X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/70148c4918a95ee9a49a18bf5789801d02e8ef5e..964350f4132788e07a7ce1b159179a152e9cfcdc:/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 6646e5a3f1..b5bf2415c2 100644 --- a/apps/workbench/test/integration/users_test.rb +++ b/apps/workbench/test/integration/users_test.rb @@ -16,6 +16,7 @@ class UsersTest < ActionDispatch::IntegrationTest visit page_with_token('admin_trustedclient') # go to Users list page + find('#system-menu').click click_link 'Users' # check active user attributes in the list page @@ -24,10 +25,10 @@ class UsersTest < ActionDispatch::IntegrationTest end find('tr', text: 'zzzzz-tpzed-xurymjxw79nv3jz'). - find('a,button', text: 'Show'). + find('a', text: 'Show'). click assert page.has_text? 'Attributes' - assert page.has_text? 'Metadata' + assert page.has_text? 'Advanced' assert page.has_text? 'Admin' # go to the Attributes tab @@ -50,16 +51,15 @@ class UsersTest < ActionDispatch::IntegrationTest visit page_with_token('admin_trustedclient') + find('#system-menu').click click_link 'Users' assert page.has_text? 'zzzzz-tpzed-d9tiejq69daie8f' click_link 'Add a new user' - sleep(0.1) - popup = page.driver.browser.window_handles.last - page.within_window popup do - assert has_text? 'Virtual Machine' + within '.modal-content' do + find 'label', text: 'Virtual Machine' fill_in "email", :with => "foo@example.com" fill_in "repo_name", :with => "test_repo" click_button "Submit" @@ -70,15 +70,13 @@ class UsersTest < ActionDispatch::IntegrationTest # 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 + new_user_uuid = + find('tr[data-object-uuid]', text: 'foo@example.com')['data-object-uuid'] assert new_user_uuid, "Expected new user uuid not found" # go to the new user's page find('tr', text: new_user_uuid). - find('a,button', text: 'Show'). + find('a', text: 'Show'). click assert page.has_text? 'modified_by_user_uuid' @@ -86,9 +84,10 @@ class UsersTest < ActionDispatch::IntegrationTest assert_equal "false", text, "Expected new user's is_active to be false" end + click_link 'Advanced' click_link 'Metadata' - assert page.has_text? '(Repository: test_repo)' - assert !(page.has_text? '(VirtualMachine:)') + assert page.has_text? 'Repository: test_repo' + assert !(page.has_text? 'VirtualMachine:') headless.stop end @@ -100,11 +99,12 @@ class UsersTest < ActionDispatch::IntegrationTest Capybara.current_driver = :selenium visit page_with_token('admin_trustedclient') + find('#system-menu').click click_link 'Users' # click on active user find('tr', text: 'zzzzz-tpzed-xurymjxw79nv3jz'). - find('a,button', text: 'Show'). + find('a', text: 'Show'). click # Setup user @@ -113,38 +113,35 @@ class UsersTest < ActionDispatch::IntegrationTest click_link 'Setup Active User' - sleep(0.1) - - popup = page.driver.browser.window_handles.last - page.within_window popup do - assert has_text? 'Virtual Machine' + within '.modal-content' do + find 'label', text: 'Virtual Machine' fill_in "repo_name", :with => "test_repo" click_button "Submit" end assert page.has_text? 'modified_by_client_uuid' + click_link 'Advanced' click_link 'Metadata' - assert page.has_text? '(Repository: test_repo)' - assert !(page.has_text? '(VirtualMachine:)') + assert page.has_text? 'Repository: test_repo' + assert !(page.has_text? 'VirtualMachine:') # Click on Setup button again and this time also choose a VM click_link 'Admin' click_link 'Setup Active User' - sleep(0.1) - popup = page.driver.browser.window_handles.last - page.within_window popup do + within '.modal-content' do fill_in "repo_name", :with => "second_test_repo" select("testvm.shell", :from => 'vm_uuid') click_button "Submit" end - assert page.has_text? 'modified_by_client_uuid' + find '#Attributes', text: 'modified_by_client_uuid' + click_link 'Advanced' click_link 'Metadata' - assert page.has_text? '(Repository: second_test_repo)' - assert page.has_text? '(VirtualMachine: testvm.shell)' + assert page.has_text? 'Repository: second_test_repo' + assert page.has_text? 'VirtualMachine: testvm.shell' headless.stop end @@ -157,11 +154,12 @@ class UsersTest < ActionDispatch::IntegrationTest visit page_with_token('admin_trustedclient') + find('#system-menu').click click_link 'Users' # click on active user find('tr', text: 'zzzzz-tpzed-xurymjxw79nv3jz'). - find('a,button', text: 'Show'). + find('a', text: 'Show'). click # Verify that is_active is set @@ -182,23 +180,23 @@ 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, '//span[@data-name="is_active"]') do assert_equal "false", text, "Expected user's is_active to be false after unsetup" end + click_link 'Advanced' click_link 'Metadata' - assert !(page.has_text? '(Repository: test_repo)') - assert !(page.has_text? '(Repository: second_test_repo)') - assert !(page.has_text? '(VirtualMachine: testvm.shell)') + assert !(page.has_text? 'Repository: test_repo') + assert !(page.has_text? 'Repository: second_test_repo') + assert !(page.has_text? 'VirtualMachine: testvm.shell') # setup user again and verify links present click_link 'Admin' click_link 'Setup Active User' - sleep(0.1) - popup = page.driver.browser.window_handles.last - page.within_window popup do + within '.modal-content' do fill_in "repo_name", :with => "second_test_repo" select("testvm.shell", :from => 'vm_uuid') click_button "Submit" @@ -206,9 +204,10 @@ class UsersTest < ActionDispatch::IntegrationTest assert page.has_text? 'modified_by_client_uuid' + click_link 'Advanced' click_link 'Metadata' - assert page.has_text? '(Repository: second_test_repo)' - assert page.has_text? '(VirtualMachine: testvm.shell)' + assert page.has_text? 'Repository: second_test_repo' + assert page.has_text? 'VirtualMachine: testvm.shell' headless.stop end