diff options
Diffstat (limited to 'actionpack/lib/action_controller/test_case.rb')
-rw-r--r-- | actionpack/lib/action_controller/test_case.rb | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb index 49a6d1c145..c63dde4ff6 100644 --- a/actionpack/lib/action_controller/test_case.rb +++ b/actionpack/lib/action_controller/test_case.rb @@ -14,6 +14,18 @@ module ActionController TestSession.new end + # Create a new test request with default `env` values + def self.create + env = {} + env = Rails.application.env_config.merge(env) if defined?(Rails.application) && Rails.application + new(default_env.merge(env), new_session) + end + + def self.default_env + DEFAULT_ENV + end + private_class_method :default_env + def initialize(env, session) super(env) @@ -70,12 +82,6 @@ module ActionController @fullpath = @ip = @remote_ip = @protocol = nil @env['action_dispatch.request.query_parameters'] = {} end - - private - - def default_env - DEFAULT_ENV - end end class TestResponse < ActionDispatch::TestResponse @@ -516,7 +522,7 @@ module ActionController end end - @request = build_request({}, TestRequest.new_session) + @request = TestRequest.create @request.env["rack.request.cookie_hash"] = {}.with_indifferent_access @response = build_response @response_klass @response.request = @request @@ -527,10 +533,6 @@ module ActionController end end - def build_request(env, session) - TestRequest.new(env, session) - end - def build_response(klass) klass.new end |