Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2015-06-18 04:27:38 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-06-22 13:13:47 +0300
commitda135119aac4befd0ef13cae519c165366a0568b (patch)
treecffe3c2a379e35b1f67a746d0e830e55c67c4809 /spec/support
parentef206b7977cef355c3f11bef333209d0f6714483 (diff)
Move CapybaraHelpers to its own support file
In case we end up wanting to use it in Spinach as well.
Diffstat (limited to 'spec/support')
-rw-r--r--spec/support/capybara.rb33
-rw-r--r--spec/support/capybara_helpers.rb32
2 files changed, 32 insertions, 33 deletions
diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb
index 3e41aec425a..fed1ab6ee33 100644
--- a/spec/support/capybara.rb
+++ b/spec/support/capybara.rb
@@ -19,36 +19,3 @@ unless ENV['CI'] || ENV['CI_SERVER']
# Keep only the screenshots generated from the last failing test suite
Capybara::Screenshot.prune_strategy = :keep_last_run
end
-
-module CapybaraHelpers
- # Execute a block a certain number of times before considering it a failure
- #
- # The given block is called, and if it raises a `Capybara::ExpectationNotMet`
- # error, we wait `interval` seconds and then try again, until `retries` is
- # met.
- #
- # This allows for better handling of timing-sensitive expectations in a
- # sketchy CI environment, for example.
- #
- # interval - Delay between retries in seconds (default: 0.5)
- # retries - Number of times to execute before failing (default: 5)
- def allowing_for_delay(interval: 0.5, retries: 5)
- tries = 0
-
- begin
- yield
- rescue Capybara::ExpectationNotMet => ex
- if tries <= retries
- tries += 1
- sleep interval
- retry
- else
- raise ex
- end
- end
- end
-end
-
-RSpec.configure do |config|
- config.include CapybaraHelpers, type: :feature
-end
diff --git a/spec/support/capybara_helpers.rb b/spec/support/capybara_helpers.rb
new file mode 100644
index 00000000000..5356a3b588d
--- /dev/null
+++ b/spec/support/capybara_helpers.rb
@@ -0,0 +1,32 @@
+module CapybaraHelpers
+ # Execute a block a certain number of times before considering it a failure
+ #
+ # The given block is called, and if it raises a `Capybara::ExpectationNotMet`
+ # error, we wait `interval` seconds and then try again, until `retries` is
+ # met.
+ #
+ # This allows for better handling of timing-sensitive expectations in a
+ # sketchy CI environment, for example.
+ #
+ # interval - Delay between retries in seconds (default: 0.5)
+ # retries - Number of times to execute before failing (default: 5)
+ def allowing_for_delay(interval: 0.5, retries: 5)
+ tries = 0
+
+ begin
+ yield
+ rescue Capybara::ExpectationNotMet => ex
+ if tries <= retries
+ tries += 1
+ sleep interval
+ retry
+ else
+ raise ex
+ end
+ end
+ end
+end
+
+RSpec.configure do |config|
+ config.include CapybaraHelpers, type: :feature
+end