Please sign in to comment.
Fix default host in setup, move teardown to helper file
* Override integration test default host Integration tests automatically set the default host to 'http://example.com'. This works fine for integration tests because they are not real browser sessions, but doesn't work fine for system tests because they are real browser sessions. We can override this by setting the `host!` in `before_setup. The `Capybara.always_include_port` will allow the test to look at `127.0.0.1:port capybara picks` and properly redirect the test. Any application can override this by setting the `host!` in their system test helper. Generally though, applications are going to be using localhost. In this commit I also moved the setup and teardown into their own module for tidiness. * Move teardown settings into system test case These configuration options can be put into the system test case file instead of the generated system tests helper file. This is an implementation detail and therefore shouldn't be generated with the template.
- Loading branch information...
Showing with 39 additions and 16 deletions.
- +2 −0 actionpack/lib/action_dispatch/system_test_case.rb
- +9 −0 actionpack/lib/action_dispatch/system_testing/server.rb
- +20 −0 actionpack/lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb
- +8 −1 actionpack/test/dispatch/system_testing/server_test.rb
- +0 −5 railties/lib/rails/generators/rails/app/templates/test/system_test_helper.rb
- +0 −5 railties/lib/rails/generators/rails/plugin/templates/test/system_test_helper.rb
- +0 −5 railties/lib/rails/generators/test_unit/system/templates/system_test_helper.rb
|@@ -0,0 +1,20 @@|
|+ module SystemTesting|
|+ module TestHelpers|
|+ module SetupAndTeardown # :nodoc:|
|+ DEFAULT_HOST = "127.0.0.1"|
|+ def before_setup|
|+ host! DEFAULT_HOST|
|+ def after_teardown|