instance method
assert_response
Ruby on Rails 3.2.22.5
Since v3.0.20Signature
assert_response(type, message = nil)
Asserts that the response is one of the following types:
-
:success- Status code was 200 -
:redirect- Status code was in the 300-399 range -
:missing- Status code was 404 -
:error- Status code was in the 500-599 range
You can also pass an explicit status number like assert_response(501) or its symbolic equivalent assert_response(:not_implemented). See Rack::Utils::SYMBOL_TO_STATUS_CODE for a full list.
Examples
# assert that the response was a redirection assert_response :redirect # assert that the response code was status code 401 (unauthorized) assert_response 401
Parameters
-
typereq -
messageopt = nil
Source
# File actionpack/lib/action_dispatch/testing/assertions/response.rb, line 28
def assert_response(type, message = nil)
validate_request!
if type.in?([:success, :missing, :redirect, :error]) && @response.send("#{type}?")
assert_block("") { true } # to count the assertion
elsif type.is_a?(Fixnum) && @response.response_code == type
assert_block("") { true } # to count the assertion
elsif type.is_a?(Symbol) && @response.response_code == Rack::Utils::SYMBOL_TO_STATUS_CODE[type]
assert_block("") { true } # to count the assertion
else
flunk(build_message(message, "Expected response to be a <?>, but was <?>", type, @response.response_code))
end
end
Defined in actionpack/lib/action_dispatch/testing/assertions/response.rb line 28
· View on GitHub
· Improve this page
· Find usages on GitHub