X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/896d01ea7b3fed8b621ff930893d3ec806931dc9..e4e38ac6a304e7f81c27975a8b26acf774bceace:/apps/workbench/test/diagnostics_test_helper.rb diff --git a/apps/workbench/test/diagnostics_test_helper.rb b/apps/workbench/test/diagnostics_test_helper.rb index c7433bb247..d53753dbed 100644 --- a/apps/workbench/test/diagnostics_test_helper.rb +++ b/apps/workbench/test/diagnostics_test_helper.rb @@ -1,3 +1,7 @@ +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: AGPL-3.0 + require 'integration_helper' require 'yaml' @@ -21,12 +25,58 @@ class DiagnosticsTest < ActionDispatch::IntegrationTest visit page_with_token(tokens[token_name], (workbench_url + path)) end + def select_input look_for + inputs_needed = page.all('.btn', text: 'Choose') + return if (!inputs_needed || !inputs_needed.any?) + + look_for_uuid = nil + look_for_file = nil + if look_for.andand.index('/').andand.>0 + partitions = look_for.partition('/') + look_for_uuid = partitions[0] + look_for_file = partitions[2] + else + look_for_uuid = look_for + look_for_file = nil + end + + assert_triggers_dom_event 'shown.bs.modal' do + inputs_needed[0].click + end + + within('.modal-dialog') do + if look_for_uuid + fill_in('Search', with: look_for_uuid, exact: true) + wait_for_ajax + end + + page.all('.selectable').first.click + wait_for_ajax + # ajax reload is wiping out input selection after search results; so, select again. + page.all('.selectable').first.click + wait_for_ajax + + if look_for_file + wait_for_ajax + within('.collection_files_name', text: look_for_file) do + find('.fa-file').click + end + end + + find('button', text: 'OK').click + wait_for_ajax + end + end + # Looks for the text_to_look_for for up to the max_time provided def wait_until_page_has text_to_look_for, max_time=30 max_time = 30 if (!max_time || (max_time.to_s != max_time.to_i.to_s)) + text_found = false Timeout.timeout(max_time) do - loop until page.has_text?(text_to_look_for) + until text_found do + visit_page_with_token 'active', current_path + text_found = has_text?(text_to_look_for) + end end end - end