aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/system_testing/driver_adapters
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2016-08-05 10:17:22 -0400
committereileencodes <eileencodes@gmail.com>2017-02-20 15:07:31 -0500
commit0862cf1bbffe0a3c82e311804244a8cb715332a6 (patch)
tree5466f4a87898649384c9e398ed5ad29c41064402 /actionpack/lib/system_testing/driver_adapters
parent97d8b7abfe75b6a7617966ad0b3d37ae9fc7adb8 (diff)
downloadrails-0862cf1bbffe0a3c82e311804244a8cb715332a6.tar.gz
rails-0862cf1bbffe0a3c82e311804244a8cb715332a6.tar.bz2
rails-0862cf1bbffe0a3c82e311804244a8cb715332a6.zip
Add ability to run system tests via Capybara
Capybara defaults to Rack Test for it's driver and works out of the box but this adds the headers and allows for future configurable adapters for system testing.
Diffstat (limited to 'actionpack/lib/system_testing/driver_adapters')
-rw-r--r--actionpack/lib/system_testing/driver_adapters/capybara_rack_test_driver.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/actionpack/lib/system_testing/driver_adapters/capybara_rack_test_driver.rb b/actionpack/lib/system_testing/driver_adapters/capybara_rack_test_driver.rb
new file mode 100644
index 0000000000..2890686e29
--- /dev/null
+++ b/actionpack/lib/system_testing/driver_adapters/capybara_rack_test_driver.rb
@@ -0,0 +1,24 @@
+module SystemTesting
+ module DriverAdapters
+ class CapybaraRackTestDriver
+ attr_reader :useragent
+
+ def initialize(useragent: 'Capybara')
+ @useragent = useragent
+ end
+
+ def call
+ registration
+ end
+
+ private
+ def registration
+ Capybara.register_driver :rack_test do |app|
+ Capybara::RackTest::Driver.new(app, headers: {
+ 'HTTP_USER_AGENT' => @useragent
+ })
+ end
+ end
+ end
+ end
+end