Module: RSpec::Rails::Matchers
- Included in:
- RailsExampleGroup
- Defined in:
- lib/rspec/rails/matchers.rb,
lib/rspec/rails/matchers/be_valid.rb,
lib/rspec/rails/matchers/be_a_new.rb,
lib/rspec/rails/matchers/active_job.rb,
lib/rspec/rails/matchers/redirect_to.rb,
lib/rspec/rails/matchers/have_rendered.rb,
lib/rspec/rails/matchers/be_new_record.rb,
lib/rspec/rails/matchers/have_http_status.rb,
lib/rspec/rails/matchers/routing_matchers.rb
Overview
Container module for Rails specific matchers.
Defined Under Namespace
Modules: ActiveJob, HaveHttpStatus, RedirectTo, RenderTemplate, RoutingMatchers Classes: BeANew
Instance Method Summary (collapse)
-
- (Object) be_a_new(model_class)
Passes if actual is an instance of
model_class
and returnsfalse
forpersisted?
. -
- (Object) be_new_record
Passes if actual returns
false
forpersisted?
. -
- (Object) be_valid(*args)
Passes if the given model instance's
valid?
method is true, meaning all of theActiveModel::Validations
passed and no errors exist. -
- (Object) have_enqueued_job(job = nil)
Passess if
count
of jobs were enqueued inside block. -
- (Object) have_http_status(target)
Passes if
response
has a matching HTTP status code.
Instance Method Details
- (Object) be_a_new(model_class)
Passes if actual is an instance of model_class
and returns
false
for persisted?
. Typically used to specify
instance variables assigned to views by controller actions
Use the with
method to specify the specific attributes to
match on the new record.
77 78 79 |
# File 'lib/rspec/rails/matchers/be_a_new.rb', line 77 def be_a_new(model_class) BeANew.new(model_class) end |
- (Object) be_new_record
Passes if actual returns false
for persisted?
.
25 26 27 |
# File 'lib/rspec/rails/matchers/be_new_record.rb', line 25 def be_new_record BeANewRecord.new end |
- (Object) be_valid(*args)
Passes if the given model instance's valid?
method is
true, meaning all of the ActiveModel::Validations
passed and
no errors exist. If a message is not given, a default message is shown
listing each error.
44 45 46 |
# File 'lib/rspec/rails/matchers/be_valid.rb', line 44 def be_valid(*args) BeValid.new(*args) end |
- (Object) have_enqueued_job(job = nil)
Passess if count
of jobs were enqueued inside block
160 161 162 |
# File 'lib/rspec/rails/matchers/active_job.rb', line 160 def have_enqueued_job(job = nil) ActiveJob::HaveEnqueuedJob.new(job) end |
- (Object) have_http_status(target)
Passes if response
has a matching HTTP status code.
The following symbolic status codes are allowed:
-
Rack::Utils::SYMBOL_TO_STATUS_CODE
-
One of the defined
ActionDispatch::TestResponse
aliases: -
:error
-
:missing
-
:redirect
-
:success
355 356 357 358 |
# File 'lib/rspec/rails/matchers/have_http_status.rb', line 355 def have_http_status(target) raise ArgumentError, "Invalid HTTP status: nil" unless target HaveHttpStatus.matcher_for_status(target) end |