X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1b4f261c2f7d8552f9d746931c84c09d894c0077..0215bf7b8c61d59462a476d850af999105856177:/apps/workbench/test/integration/search_box_test.rb diff --git a/apps/workbench/test/integration/search_box_test.rb b/apps/workbench/test/integration/search_box_test.rb index be9931dfde..05c7f25185 100644 --- a/apps/workbench/test/integration/search_box_test.rb +++ b/apps/workbench/test/integration/search_box_test.rb @@ -1,12 +1,8 @@ require 'integration_helper' -require 'selenium-webdriver' -require 'headless' -class ApplicationLayoutTest < ActionDispatch::IntegrationTest +class SearchBoxTest < ActionDispatch::IntegrationTest setup do - headless = Headless.new - headless.start - Capybara.current_driver = :selenium + need_javascript end # test the search box @@ -14,6 +10,7 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest if user && user['is_active'] # let's search for a valid uuid within('.navbar-fixed-top') do + page.has_field?('search') page.find_field('search').set user['uuid'] page.find('.glyphicon-search').click end @@ -36,18 +33,18 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest within '.modal-content' do assert page.has_text?('Report a problem'), 'No text - Report a problem' assert page.has_no_text?('Version / debugging info'), 'No text - Version / debugging info' - assert page.has_text?('Server version'), 'No text - Server version' - assert page.has_text?('Server restarted at'), 'No text - Server restarted at' - assert page.has_text?('Found a problem?'), 'No text - Found a problem' - assert page.has_button?('Report issue'), 'No button - Report issue' + assert page.has_text?('Describe the problem'), 'No text - Describe the problem' + assert page.has_text?('Send problem report'), 'Send problem report button text is not found' + assert page.has_no_button?('Send problem report'), 'Send problem report button is not disabled before entering problem description' assert page.has_button?('Cancel'), 'No button - Cancel' # enter a report text and click on report page.find_field('report_issue_text').set 'my test report text' - click_button 'Report issue' + assert page.has_button?('Send problem report'), 'Send problem report button not enabled after entering text' + click_button 'Send problem report' # ajax success updated button texts and added footer message - assert page.has_no_button?('Report issue'), 'Found button - Report issue' + assert page.has_no_text?('Send problem report'), 'Found button - Send problem report' assert page.has_no_button?('Cancel'), 'Found button - Cancel' assert page.has_text?('Report sent'), 'No text - Report sent' assert page.has_button?('Close'), 'No text - Close' @@ -78,15 +75,22 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest # seeing "Unrestricted public data" now assert page.has_text?(publicly_accessible_project['name']), 'No text - publicly accessible project name' assert page.has_text?(publicly_accessible_project['description']), 'No text - publicly accessible project description' + else + within('.navbar-fixed-top') do + page.has_no_field?('search') + end end end [ + [nil, nil], + ['inactive', api_fixture('users')['inactive']], + ['inactive_uninvited', api_fixture('users')['inactive_uninvited']], ['active', api_fixture('users')['active']], ['admin', api_fixture('users')['admin']], ].each do |token, user| - test "test search for user #{token}" do + test "test search box for user #{token}" do visit page_with_token(token) verify_search_box user