rails--rails/railties/test/application/system_test_case_test.rb

46 lines
1.1 KiB
Ruby

# frozen_string_literal: true
require "isolation/abstract_unit"
require "rack/test"
class SystemTestCaseTest < ActiveSupport::TestCase
include ActiveSupport::Testing::Isolation
def setup
build_app
end
def teardown
teardown_app
end
test "url helpers are delegated to a proxy class" do
app_file "config/routes.rb", <<-RUBY
Rails.application.routes.draw do
get 'foo', to: 'foo#index', as: 'test_foo'
end
RUBY
app("test")
assert_not_includes(ActionDispatch::SystemTestCase.runnable_methods, :test_foo_url)
end
test "system tests set the Capybara host in the url_options by default" do
app_file "config/routes.rb", <<-RUBY
Rails.application.routes.draw do
get 'foo', to: 'foo#index', as: 'test_foo'
end
RUBY
app("test")
system_test = ActionDispatch::SystemTestCase.new("my_test")
previous_app_host = ::Capybara.app_host
::Capybara.app_host = "https://my_test_example.com"
assert_equal("https://my_test_example.com/foo", system_test.test_foo_url)
ensure
::Capybara.app_host = previous_app_host
end
end