X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b2979b0db0b6b5ee7ad3001ffcc8f76ff4d96f05..b91db14a4dced9d6ea124e86be3c796e6f2c8e8c:/apps/workbench/test/integration_helper.rb diff --git a/apps/workbench/test/integration_helper.rb b/apps/workbench/test/integration_helper.rb index 1784779664..a8788ceb53 100644 --- a/apps/workbench/test/integration_helper.rb +++ b/apps/workbench/test/integration_helper.rb @@ -4,10 +4,24 @@ require 'capybara/poltergeist' require 'uri' require 'yaml' +module WaitForAjax + Capybara.default_wait_time = 5 + def wait_for_ajax + Timeout.timeout(Capybara.default_wait_time) do + loop until finished_all_ajax_requests? + end + end + + def finished_all_ajax_requests? + page.evaluate_script('jQuery.active').zero? + end +end + class ActionDispatch::IntegrationTest # Make the Capybara DSL available in all integration tests include Capybara::DSL include ApiFixtureLoader + include WaitForAjax @@API_AUTHS = self.api_fixture('api_client_authorizations')