instance method assert_redirected_to

Ruby on Rails 2.2.3

Since v2.2.3 Last seen in v2.3.18

Available in: v2.2.3 v2.3.18

Signature

assert_redirected_to(options = {}, message=nil)

Assert that the redirection options passed in match those of the redirect called in the latest action. This match can be partial, such that assert_redirected_to(:controller => “weblog”) will also match the redirection of redirect_to(:controller => “weblog”, :action => “show”) and so on.

Examples

# assert that the redirection was to the "index" action on the WeblogController
assert_redirected_to :controller => "weblog", :action => "index"

# assert that the redirection was to the named route login_url
assert_redirected_to login_url

# assert that the redirection was to the url for @customer
assert_redirected_to @customer

Parameters

options opt = {}
message opt = nil
Source
# File actionpack/lib/action_controller/assertions/response_assertions.rb, line 62
      def assert_redirected_to(options = {}, message=nil)
        clean_backtrace do
          assert_response(:redirect, message)
          return true if options == @response.redirected_to
          
          # Support partial arguments for hash redirections
          if options.is_a?(Hash) && @response.redirected_to.is_a?(Hash)
            return true if options.all? {|(key, value)| @response.redirected_to[key] == value}
          end
          
          redirected_to_after_normalisation = normalize_argument_to_redirection(@response.redirected_to)
          options_after_normalisation       = normalize_argument_to_redirection(options)

          if redirected_to_after_normalisation != options_after_normalisation
            flunk "Expected response to be a redirect to <#{options_after_normalisation}> but was a redirect to <#{redirected_to_after_normalisation}>"
          end
        end
      end

Defined in actionpack/lib/action_controller/assertions/response_assertions.rb line 62 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActionController::Assertions::ResponseAssertions

Type at least 2 characters to search.

↑↓ navigate · open · esc close