Class: RSpec::Rails::Matchers::HaveHttpStatus::GenericStatus Private
- Inherits:
-
BaseMatcher
- Object
- BaseMatcher
- RSpec::Rails::Matchers::HaveHttpStatus::GenericStatus
- Includes:
- RSpec::Rails::Matchers::HaveHttpStatus
- Defined in:
- lib/rspec/rails/matchers/have_http_status.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Provides an implementation for have_http_status
matching against
ActionDispatch::TestResponse
http status category queries.
Not intended to be instantiated directly.
Constant Summary
Constants inherited from BaseMatcher
Class Method Summary collapse
-
.valid_statuses ⇒ Array<Symbol>
private
Of status codes which represent a HTTP status code "group".
Instance Method Summary collapse
- #description ⇒ String private
-
#failure_message ⇒ String
private
Explaining why the match failed.
-
#failure_message_when_negated ⇒ String
private
Explaining why the match failed.
-
#initialize(type) ⇒ GenericStatus
constructor
private
A new instance of GenericStatus.
-
#matches?(response) ⇒ Boolean
private
true
if Rack's associated numeric HTTP code matched theresponse
code or the named response status.
Methods included from RSpec::Rails::Matchers::HaveHttpStatus
as_test_response, #invalid_response_type_message, matcher_for_status
Methods inherited from BaseMatcher
#diffable?, #expects_call_stack_jump?, #match_unless_raises, #supports_block_expectations?
Constructor Details
#initialize(type) ⇒ GenericStatus
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of GenericStatus.
255 256 257 258 259 260 261 262 263 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 255 def initialize(type) unless self.class.valid_statuses.include?(type) raise ArgumentError, "Invalid generic HTTP status: #{type.inspect}" end @expected = type @actual = nil @invalid_response = nil end |
Class Method Details
.valid_statuses ⇒ Array<Symbol>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns of status codes which represent a HTTP status code "group".
247 248 249 250 251 252 253 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 247 def self.valid_statuses [ :error, :success, :missing, :server_error, :successful, :not_found, :redirect ] end |
Instance Method Details
#description ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
277 278 279 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 277 def description "respond with #{}" end |
#failure_message ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns explaining why the match failed.
282 283 284 285 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 282 def || "expected the response to have #{} but it was #{actual}" end |
#failure_message_when_negated ⇒ String
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns explaining why the match failed.
288 289 290 291 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 288 def || "expected the response not to have #{} but it was #{actual}" end |
#matches?(response) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns true
if Rack's associated numeric HTTP code matched
the response
code or the named response status.
267 268 269 270 271 272 273 274 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 267 def matches?(response) test_response = as_test_response(response) @actual = test_response.response_code check_expected_status(test_response, expected) rescue TypeError => _ignored @invalid_response = response false end |