diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2015-07-08 16:09:49 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2015-07-08 16:09:49 -0700 |
commit | 78a5124bf09d0cd285d4d1a6242bd67badb2f621 (patch) | |
tree | 9514761d8dec2abc98ea10ef6a8ca86fb9b5cf42 /actionpack/lib/action_controller | |
parent | db41f33d7c9ec436b78d2eb3afa96c9afcc9cca5 (diff) | |
download | rails-78a5124bf09d0cd285d4d1a6242bd67badb2f621.tar.gz rails-78a5124bf09d0cd285d4d1a6242bd67badb2f621.tar.bz2 rails-78a5124bf09d0cd285d4d1a6242bd67badb2f621.zip |
add a new constructor for allocating test requests
Diffstat (limited to 'actionpack/lib/action_controller')
-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 |