2016-03-07 16:52:19 -08:00
|
|
|
# frozen_string_literal: true
|
2018-01-08 12:23:54 -08:00
|
|
|
|
2011-02-03 23:18:07 +01:00
|
|
|
require 'rspec/core'
|
2017-03-28 10:41:49 -07:00
|
|
|
require 'capybara/dsl'
|
2011-02-11 14:03:46 +01:00
|
|
|
require 'capybara/rspec/matchers'
|
2011-02-11 14:44:58 +01:00
|
|
|
require 'capybara/rspec/features'
|
2017-03-28 10:41:49 -07:00
|
|
|
require 'capybara/rspec/matcher_proxies'
|
2010-12-10 14:54:46 +01:00
|
|
|
|
2010-12-21 16:25:25 +01:00
|
|
|
RSpec.configure do |config|
|
2018-01-09 14:05:50 -08:00
|
|
|
config.include Capybara::DSL, type: :feature
|
|
|
|
config.include Capybara::RSpecMatchers, type: :feature
|
2020-07-03 17:42:19 -07:00
|
|
|
config.include Capybara::DSL, type: :system
|
|
|
|
config.include Capybara::RSpecMatchers, type: :system
|
2018-01-09 14:05:50 -08:00
|
|
|
config.include Capybara::RSpecMatchers, type: :view
|
2013-07-21 20:19:42 -04:00
|
|
|
|
2011-02-03 23:18:07 +01:00
|
|
|
# The before and after blocks must run instantaneously, because Capybara
|
|
|
|
# might not actually be used in all examples where it's included.
|
2010-12-10 14:54:46 +01:00
|
|
|
config.after do
|
2011-04-11 06:58:42 +01:00
|
|
|
if self.class.include?(Capybara::DSL)
|
2011-01-09 13:57:41 +01:00
|
|
|
Capybara.reset_sessions!
|
|
|
|
Capybara.use_default_driver
|
|
|
|
end
|
2010-12-10 14:54:46 +01:00
|
|
|
end
|
2017-03-28 10:41:49 -07:00
|
|
|
|
2018-05-15 12:39:40 -07:00
|
|
|
config.before do |example|
|
2011-04-11 06:58:42 +01:00
|
|
|
if self.class.include?(Capybara::DSL)
|
2013-07-20 15:27:28 -04:00
|
|
|
Capybara.current_driver = Capybara.javascript_driver if example.metadata[:js]
|
2013-07-21 00:11:46 -04:00
|
|
|
Capybara.current_driver = example.metadata[:driver] if example.metadata[:driver]
|
2011-01-09 13:57:41 +01:00
|
|
|
end
|
2010-12-10 14:54:46 +01:00
|
|
|
end
|
|
|
|
end
|