diff options
author | eileencodes <eileencodes@gmail.com> | 2017-03-09 11:03:33 -0500 |
---|---|---|
committer | eileencodes <eileencodes@gmail.com> | 2017-03-09 11:03:33 -0500 |
commit | 17c65342469f211f4a845073e47bf1dfa13ba259 (patch) | |
tree | 649265a1a13d65419fa9db104ed1e1cd71e84f4e /actionpack/lib/action_dispatch/system_test_case.rb | |
parent | 37770bc8d13c5c7af024e66539c79f966718aec0 (diff) | |
parent | 7c9af60e5c26941dc9ec6a263f5fc5fe10050cba (diff) | |
download | rails-17c65342469f211f4a845073e47bf1dfa13ba259.tar.gz rails-17c65342469f211f4a845073e47bf1dfa13ba259.tar.bz2 rails-17c65342469f211f4a845073e47bf1dfa13ba259.zip |
Merge branch 'refactor-system-test-driver'
Diffstat (limited to 'actionpack/lib/action_dispatch/system_test_case.rb')
-rw-r--r-- | actionpack/lib/action_dispatch/system_test_case.rb | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/actionpack/lib/action_dispatch/system_test_case.rb b/actionpack/lib/action_dispatch/system_test_case.rb index d6388d8fb7..1bf47d2556 100644 --- a/actionpack/lib/action_dispatch/system_test_case.rb +++ b/actionpack/lib/action_dispatch/system_test_case.rb @@ -2,7 +2,6 @@ require "capybara/dsl" require "action_controller" require "action_dispatch/system_testing/driver" require "action_dispatch/system_testing/server" -require "action_dispatch/system_testing/browser" require "action_dispatch/system_testing/test_helpers/screenshot_helper" require "action_dispatch/system_testing/test_helpers/setup_and_teardown" @@ -84,12 +83,19 @@ module ActionDispatch include SystemTesting::TestHelpers::SetupAndTeardown include SystemTesting::TestHelpers::ScreenshotHelper + def initialize(*) # :nodoc: + super + self.class.superclass.driver.use + end + def self.start_application # :nodoc: Capybara.app = Rack::Builder.new do map "/" do run Rails.application end end + + SystemTesting::Server.new.run end # System Test configuration options @@ -105,20 +111,12 @@ module ActionDispatch # # driven_by :selenium, screen_size: [800, 800] def self.driven_by(driver, using: :chrome, screen_size: [1400, 1400]) - driver = if selenium?(driver) - SystemTesting::Browser.new(using, screen_size) - else - SystemTesting::Driver.new(driver) - end - - setup { driver.use } - teardown { driver.reset } - - SystemTesting::Server.new.run + @driver = SystemTesting::Driver.new(driver, using: using, screen_size: screen_size) end - def self.selenium?(driver) # :nodoc: - driver == :selenium + # Returns the driver object for the initialized system test + def self.driver + @driver ||= SystemTestCase.driven_by(:selenium) end end |