aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/lib
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2015-10-05 09:01:12 +0200
committerYves Senn <yves.senn@gmail.com>2015-10-05 09:04:13 +0200
commitc468d7fedd88e2474fd74e804a954a154674c8a0 (patch)
tree85248855b7ee34957257d3809385e1e939cc6093 /activejob/lib
parentf854be5e64737a7432570e9ce9d3edc38819e50a (diff)
parent6e0254e8d3c1dce532208bc868427d17aabbce5a (diff)
downloadrails-c468d7fedd88e2474fd74e804a954a154674c8a0.tar.gz
rails-c468d7fedd88e2474fd74e804a954a154674c8a0.tar.bz2
rails-c468d7fedd88e2474fd74e804a954a154674c8a0.zip
Merge pull request #21854 from morgoth/fix-serializing-at-option-in-aj-matchers
Fixed serializing `:at` option for `assert_eqnueued_with` and `assert_performed_with`
Diffstat (limited to 'activejob/lib')
-rw-r--r--activejob/lib/active_job/test_helper.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/activejob/lib/active_job/test_helper.rb b/activejob/lib/active_job/test_helper.rb
index 666e984fe0..de79de59f8 100644
--- a/activejob/lib/active_job/test_helper.rb
+++ b/activejob/lib/active_job/test_helper.rb
@@ -226,6 +226,10 @@ module ActiveJob
# assert_enqueued_with(job: MyJob, args: [1,2,3], queue: 'low') do
# MyJob.perform_later(1,2,3)
# end
+ #
+ # assert_enqueued_with(job: MyJob, at: Date.tomorrow.noon) do
+ # MyJob.set(wait_until: Date.tomorrow.noon).perform_later
+ # end
# end
def assert_enqueued_with(args = {}, &_block)
original_enqueued_jobs = enqueued_jobs.dup
@@ -248,6 +252,10 @@ module ActiveJob
# assert_performed_with(job: MyJob, args: [1,2,3], queue: 'high') do
# MyJob.perform_later(1,2,3)
# end
+ #
+ # assert_performed_with(job: MyJob, at: Date.tomorrow.noon) do
+ # MyJob.set(wait_until: Date.tomorrow.noon).perform_later
+ # end
# end
def assert_performed_with(args = {}, &_block)
original_performed_jobs = performed_jobs.dup
@@ -307,11 +315,10 @@ module ActiveJob
end
def serialize_args_for_assertion(args) # :nodoc:
- serialized_args = args.dup
- if job_args = serialized_args.delete(:args)
- serialized_args[:args] = ActiveJob::Arguments.serialize(job_args)
+ args.dup.tap do |serialized_args|
+ serialized_args[:args] = ActiveJob::Arguments.serialize(serialized_args[:args]) if serialized_args[:args]
+ serialized_args[:at] = serialized_args[:at].to_f if serialized_args[:at]
end
- serialized_args
end
def instantiate_job(payload) # :nodoc: