aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/system_testing/driver_test.rb
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2017-03-06 12:33:34 -0500
committereileencodes <eileencodes@gmail.com>2017-03-09 10:52:05 -0500
commit7c9af60e5c26941dc9ec6a263f5fc5fe10050cba (patch)
tree649265a1a13d65419fa9db104ed1e1cd71e84f4e /actionpack/test/dispatch/system_testing/driver_test.rb
parent4dbebe487df54e8684183f3b3154639a77d8deaa (diff)
downloadrails-7c9af60e5c26941dc9ec6a263f5fc5fe10050cba.tar.gz
rails-7c9af60e5c26941dc9ec6a263f5fc5fe10050cba.tar.bz2
rails-7c9af60e5c26941dc9ec6a263f5fc5fe10050cba.zip
Call system test driver per-instance rather than globally
Previously the system test subclasses would call `driven_by` when the app booted and not again when the test was initialized which resulted in the driver from whichever class was called last to be used in tests. In rails/rails#28144 the `driven_by` method was changed to run `use` on setup and `reset` on teardown. While this was a viable fix this really pointed to the problem that system test `driven_by` was a global setting, rather than a per-class setting. To alieviate this problem calling the driver should be done on an instance level, rather than on the global level. I added an `initialize` method to `SystemTestCase` which will call `use` on the superclass driver. Running the server has been moved to `start_application` so that it only needs to be called once on boot and no options from `driven_by` were being passed to it. This required a largish rewrite of the tests. Each test needs to utilize the subclass so that it can properly test the drivers. `ActionDispatch::SystemTestCase` shouldn't be called directly anymore.
Diffstat (limited to 'actionpack/test/dispatch/system_testing/driver_test.rb')
-rw-r--r--actionpack/test/dispatch/system_testing/driver_test.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/actionpack/test/dispatch/system_testing/driver_test.rb b/actionpack/test/dispatch/system_testing/driver_test.rb
index 96d598a7a3..8f8777b19f 100644
--- a/actionpack/test/dispatch/system_testing/driver_test.rb
+++ b/actionpack/test/dispatch/system_testing/driver_test.rb
@@ -8,10 +8,10 @@ class DriverTest < ActiveSupport::TestCase
end
test "initializing the driver with a browser" do
- driver = ActionDispatch::SystemTesting::Driver.new(:selenium, using: :chrome, screen_size: [ 1400, 1400 ])
+ driver = ActionDispatch::SystemTesting::Driver.new(:selenium, using: :chrome, screen_size: [1400, 1400])
assert_equal :selenium, driver.instance_variable_get(:@name)
- assert_equal :chrome, driver.instance_variable_get(:@using)
- assert_equal [ 1400, 1400 ], driver.instance_variable_get(:@screen_size)
+ assert_equal :chrome, driver.instance_variable_get(:@browser)
+ assert_equal [1400, 1400], driver.instance_variable_get(:@screen_size)
end
test "selenium? returns false if driver is poltergeist" do