Closed
Description
What Ruby, Rails and RSpec versions are you using?
ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-darwin20]
Rails 6.1.4.6
RSpec 3.10
- rspec-core 3.10.2
- rspec-expectations 3.10.2
- rspec-mocks 3.10.3
- rspec-rails 5.0.3
- rspec-support 3.10.3
Issue does not manifest on rspec-rails 5.0.2
Observed behaviour
With the following spec:
expect { subject.send_coach_lead_notification }
.to have_enqueued_mail(CoachingInquiryMailer, :coach_notification_bookings_promo)
We get:
NoMethodError:
undefined method `to_sym' for {}:Hash
Did you mean? to_s
to_set
Full backtrace
Run options: include {:locations=>{"./spec/services/coaching_inquiry_notifier_spec.rb"=>[111]}} Randomized with seed 31320 CoachingInquiryNotifier when lead is from coach without offerings sends mailer with bookings promo (FAILED - 1) Failures: 1) CoachingInquiryNotifier when lead is from coach without offerings sends mailer with bookings promo Failure/Error: expect { subject.send_coach_lead_notification } .to have_enqueued_mail(CoachingInquiryMailer, :coach_notification_bookings_promo) NoMethodError: undefined method `to_sym' for {}:Hash Did you mean? to_s to_set # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/have_enqueued_mail.rb:148:in `block in deserialize_arguments' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/have_enqueued_mail.rb:148:in `each' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/have_enqueued_mail.rb:148:in `each_with_object' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/have_enqueued_mail.rb:148:in `deserialize_arguments' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/active_job.rb:148:in `arguments_match?' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/have_enqueued_mail.rb:89:in `arguments_match?' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/active_job.rb:104:in `block in check' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/active_job.rb:103:in `each' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/active_job.rb:103:in `partition' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/active_job.rb:103:in `check' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/active_job.rb:237:in `matches?' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/matchers/have_enqueued_mail.rb:40:in `matches?' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-expectations-3.10.2/lib/rspec/expectations/handler.rb:51:in `block in handle_matcher' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-expectations-3.10.2/lib/rspec/expectations/handler.rb:27:in `with_matcher' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-expectations-3.10.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-expectations-3.10.2/lib/rspec/expectations/expectation_target.rb:65:in `to' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-expectations-3.10.2/lib/rspec/expectations/expectation_target.rb:101:in `to' # ./spec/services/coaching_inquiry_notifier_spec.rb:112:in `block (3 levels) in ' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:262:in `instance_exec' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:262:in `block in run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:508:in `block in with_around_and_singleton_context_hooks' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:465:in `block in with_around_example_hooks' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/hooks.rb:486:in `block in run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/hooks.rb:626:in `block in run_around_example_hooks_for' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:350:in `call' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-rails-5.0.3/lib/rspec/rails/adapters.rb:75:in `block (2 levels) in ' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:455:in `instance_exec' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:455:in `instance_exec' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/hooks.rb:390:in `execute_with' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/hooks.rb:628:in `block (2 levels) in run_around_example_hooks_for' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:350:in `call' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/hooks.rb:629:in `run_around_example_hooks_for' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/hooks.rb:486:in `run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:465:in `with_around_example_hooks' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:508:in `with_around_and_singleton_context_hooks' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example.rb:259:in `run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example_group.rb:644:in `block in run_examples' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example_group.rb:640:in `map' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example_group.rb:640:in `run_examples' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example_group.rb:606:in `run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example_group.rb:607:in `block in run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example_group.rb:607:in `map' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/example_group.rb:607:in `run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:121:in `map' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/configuration.rb:2067:in `with_suite_hooks' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:116:in `block in run_specs' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/reporter.rb:74:in `report' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:115:in `run_specs' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:89:in `run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:71:in `run' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/lib/rspec/core/runner.rb:45:in `invoke' # /usr/local/var/rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/rspec-core-3.10.2/exe/rspec:4:in `' # ./bin/rspec:29:in `load' # ./bin/rspec:29:in `' Finished in 0.72436 seconds (files took 2.59 seconds to load) 1 example, 1 failure Failed examples: rspec ./spec/services/coaching_inquiry_notifier_spec.rb:111 # CoachingInquiryNotifier when lead is from coach without offerings sends mailer with bookings promo Randomized with seed 31320
Expected behaviour
This was a passing test before upgrading to rspec-rails 5.0.3
Can you provide an example app?
https://github.com/jasonkarns/fluffy-octo-memory
I presume this is the result of #2566 (and related to #2570 ).
Metadata
Metadata
Assignees
Labels
No labels