Method: ActionDispatch::Assertions::ResponseAssertions#assert_response

Defined in:
actionpack/lib/action_dispatch/testing/assertions/response.rb

#assert_response(type, message = nil) ⇒ Object

Asserts that the response is one of the following types:

  • :success - Status code was in the 200-299 range

  • :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.

# Asserts that the response was a redirection
assert_response :redirect

# Asserts that the response code was status code 401 (unauthorized)
assert_response 401


33
34
35
36
37
38
39
40
41
# File 'actionpack/lib/action_dispatch/testing/assertions/response.rb', line 33

def assert_response(type, message = nil)
  message ||= generate_response_message(type)

  if RESPONSE_PREDICATES.key?(type)
    assert @response.public_send(RESPONSE_PREDICATES[type]), message
  else
    assert_equal AssertionResponse.new(type).code, @response.response_code, message
  end
end