Move Spinach setup for db_cleaner and capybara to their own files
Also adds capybara-screenshot, which will automatically save the page as html and an image whenever a feature fails. Handy for debugging.
This commit is contained in:
parent
3bb2f37816
commit
55831a4d50
|
@ -0,0 +1,19 @@
|
|||
require 'spinach/capybara'
|
||||
require 'capybara/poltergeist'
|
||||
|
||||
Capybara.javascript_driver = :poltergeist
|
||||
Capybara.register_driver :poltergeist do |app|
|
||||
Capybara::Poltergeist::Driver.new(app, js_errors: false, timeout: 90)
|
||||
end
|
||||
|
||||
Spinach.hooks.on_tag("javascript") do
|
||||
Capybara.current_driver = Capybara.javascript_driver
|
||||
end
|
||||
|
||||
Capybara.default_wait_time = 60
|
||||
Capybara.ignore_hidden_elements = false
|
||||
|
||||
require 'capybara-screenshot/spinach'
|
||||
|
||||
# Keep only the screenshots generated from the last failing test suite
|
||||
Capybara::Screenshot.prune_strategy = :keep_last_run
|
|
@ -0,0 +1,11 @@
|
|||
require 'database_cleaner'
|
||||
|
||||
DatabaseCleaner.strategy = :truncation
|
||||
|
||||
Spinach.hooks.before_scenario do
|
||||
DatabaseCleaner.start
|
||||
end
|
||||
|
||||
Spinach.hooks.after_scenario do
|
||||
DatabaseCleaner.clean
|
||||
end
|
|
@ -11,40 +11,18 @@ ENV['RAILS_ENV'] = 'test'
|
|||
require './config/environment'
|
||||
require 'rspec'
|
||||
require 'rspec/expectations'
|
||||
require 'database_cleaner'
|
||||
require 'spinach/capybara'
|
||||
require 'sidekiq/testing/inline'
|
||||
|
||||
require_relative 'capybara'
|
||||
require_relative 'db_cleaner'
|
||||
|
||||
%w(select2_helper test_env repo_helpers).each do |f|
|
||||
require Rails.root.join('spec', 'support', f)
|
||||
end
|
||||
|
||||
Dir["#{Rails.root}/features/steps/shared/*.rb"].each {|file| require file}
|
||||
Dir["#{Rails.root}/features/steps/shared/*.rb"].each { |file| require file }
|
||||
|
||||
WebMock.allow_net_connect!
|
||||
#
|
||||
# JS driver
|
||||
#
|
||||
require 'capybara/poltergeist'
|
||||
Capybara.javascript_driver = :poltergeist
|
||||
Capybara.register_driver :poltergeist do |app|
|
||||
Capybara::Poltergeist::Driver.new(app, js_errors: false, timeout: 90)
|
||||
end
|
||||
Spinach.hooks.on_tag("javascript") do
|
||||
::Capybara.current_driver = ::Capybara.javascript_driver
|
||||
end
|
||||
Capybara.default_wait_time = 60
|
||||
Capybara.ignore_hidden_elements = false
|
||||
|
||||
DatabaseCleaner.strategy = :truncation
|
||||
|
||||
Spinach.hooks.before_scenario do
|
||||
DatabaseCleaner.start
|
||||
end
|
||||
|
||||
Spinach.hooks.after_scenario do
|
||||
DatabaseCleaner.clean
|
||||
end
|
||||
|
||||
Spinach.hooks.before_run do
|
||||
include RSpec::Mocks::ExampleMethods
|
||||
|
|
Loading…
Reference in New Issue