X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/21c6d252b279c9714419bf65da07e32246572238..d4fb5ff8307f22f49a78f8a1a804e3bf534c6173:/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 9a259e2703..51d615fe2d 100644 --- a/apps/workbench/test/integration/search_box_test.rb +++ b/apps/workbench/test/integration/search_box_test.rb @@ -1,32 +1,35 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'integration_helper' -require 'selenium-webdriver' -require 'headless' class SearchBoxTest < ActionDispatch::IntegrationTest setup do - headless = Headless.new - headless.start - Capybara.current_driver = :selenium + need_javascript end # test the search box def verify_search_box user if user && user['is_active'] - # let's search for a valid uuid + aproject_uuid = api_fixture('groups')['aproject']['uuid'] + # let's search for aproject by uuid within('.navbar-fixed-top') do - page.has_field?('search') - page.find_field('search').set user['uuid'] + page.has_field?('search this site') + page.find_field('search this site').set aproject_uuid page.find('.glyphicon-search').click end - # we should now be in the user's home project as a result of search - assert_selector "#Data_collections[data-object-uuid='#{user['uuid']}']", "Expected to be in user page after search click" + # we should now be in aproject as a result of search + assert_selector 'a', text:'Data collections' + click_link 'Data collections' + assert_selector "#Data_collections[data-object-uuid='#{aproject_uuid}']", "Expected to be in user page after search click" - # let's search again for an invalid valid uuid + # let's search again for an invalid uuid within('.navbar-fixed-top') do search_for = String.new user['uuid'] search_for[0]='1' - page.find_field('search').set search_for + page.find_field('search this site').set search_for page.find('.glyphicon-search').click end @@ -62,7 +65,7 @@ class SearchBoxTest < ActionDispatch::IntegrationTest within('.navbar-fixed-top') do # search again for the anonymously accessible project - page.find_field('search').set publicly_accessible_project['name'][0,10] + page.find_field('search this site').set publicly_accessible_project['name'][0,10] page.find('.glyphicon-search').click end @@ -71,7 +74,7 @@ class SearchBoxTest < ActionDispatch::IntegrationTest assert page.has_text?('Search'), 'No text - Search' assert page.has_text?('Cancel'), 'No text - Cancel' assert_selector('div', text: publicly_accessible_project['name']) - find(:xpath, '//div[./span[contains(.,publicly_accessible_project["uuid"])]]').click + find("div[data-object-uuid=#{publicly_accessible_project["uuid"]}]").click click_button 'Show' end @@ -81,7 +84,7 @@ class SearchBoxTest < ActionDispatch::IntegrationTest 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') + page.has_no_field?('search this site') end end end