Merge branch '11305-migrate-docker19-doc'
[arvados.git] / apps / workbench / test / integration_helper.rb
index 424b6665cf1d9df5469ccff761cd3ab35004e10a..067a1bdae845f98114df7a1c9cbfacc81966db45 100644 (file)
@@ -72,6 +72,12 @@ end
 
 module WaitForAjax
   # FIXME: Huge side effect here
+  # The following line changes the global default Capybara wait time, affecting
+  # every test which follows this one. This should be removed and the failing tests
+  # should have their individual wait times increased, if appropriate, using
+  # the using_wait_time(N) construct to temporarily change the wait time.
+  # Note: the below is especially bad because there are places that increase wait
+  # times using a multiplier e.g. using_wait_time(3 * Capybara.default_max_wait_time)
   Capybara.default_max_wait_time = 10
   def wait_for_ajax
     timeout = 10
@@ -215,4 +221,19 @@ class ActionDispatch::IntegrationTest
     end
     Capybara.reset_sessions!
   end
+
+  def accept_alert
+    if Capybara.current_driver == :selenium
+      (0..9).each do
+        begin
+          page.driver.browser.switch_to.alert.accept
+          break
+        rescue Selenium::WebDriver::Error::NoSuchAlertError
+         sleep 0.1
+        end
+      end
+    else
+      # poltergeist returns true for confirm, so no need to accept
+    end
+  end
 end