Merge pull request #4784 from gmcnaughton/fix-controller-tests-content_type

Fixes #4783 - preserve content_type for unauthenticated test responses
This commit is contained in:
Rafael França
2018-02-26 13:04:03 -05:00
committed by GitHub
2 changed files with 6 additions and 0 deletions

View File

@@ -139,6 +139,7 @@ module Devise
status, headers, response = Devise.warden_config[:failure_app].call(env).to_a
@controller.response.headers.merge!(headers)
@controller.response.content_type = headers["Content-Type"] unless Devise::Test.rails5?
@controller.status = status
@controller.response.body = response.body
nil # causes process return @response

View File

@@ -100,6 +100,11 @@ class TestControllerHelpersTest < Devise::ControllerTestCase
assert_equal response.body, "<html><body>You are being <a href=\"http://test.host/users/sign_in\">redirected</a>.</body></html>"
end
test "returns the content type of a failure app" do
get :index, params: { format: :xml }
assert response.content_type.include?('application/xml')
end
test "defined Warden after_authentication callback should not be called when sign_in is called" do
begin
Warden::Manager.after_authentication do |user, auth, opts|