diff options
author | Richard Manyanza <rm@dsc.co.tz> | 2015-01-23 14:01:25 +0300 |
---|---|---|
committer | Richard Manyanza <rm@dsc.co.tz> | 2015-01-23 17:46:16 +0300 |
commit | 9d3042d05e69cecbba25036289eb6ac39fb182fc (patch) | |
tree | 01663a39f1b9f65e574a1121cb384223e624d232 /activejob/lib/active_job | |
parent | 139c232b075da940cdf1042dcaad4c3b514908c9 (diff) | |
download | rails-9d3042d05e69cecbba25036289eb6ac39fb182fc.tar.gz rails-9d3042d05e69cecbba25036289eb6ac39fb182fc.tar.bz2 rails-9d3042d05e69cecbba25036289eb6ac39fb182fc.zip |
Fix ActiveJob assertions with a GlobalID object argument
Diffstat (limited to 'activejob/lib/active_job')
-rw-r--r-- | activejob/lib/active_job/test_helper.rb | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/activejob/lib/active_job/test_helper.rb b/activejob/lib/active_job/test_helper.rb index d18656e398..c544e8a10f 100644 --- a/activejob/lib/active_job/test_helper.rb +++ b/activejob/lib/active_job/test_helper.rb @@ -175,9 +175,10 @@ module ActiveJob original_enqueued_jobs = enqueued_jobs.dup clear_enqueued_jobs args.assert_valid_keys(:job, :args, :at, :queue) + serialized_args = serialize_args_for_assertion(args) yield matching_job = enqueued_jobs.any? do |job| - args.all? { |key, value| value == job[key] } + serialized_args.all? { |key, value| value == job[key] } end assert matching_job, "No enqueued job found with #{args}" ensure @@ -195,9 +196,10 @@ module ActiveJob original_performed_jobs = performed_jobs.dup clear_performed_jobs args.assert_valid_keys(:job, :args, :at, :queue) + serialized_args = serialize_args_for_assertion(args) perform_enqueued_jobs { yield } matching_job = performed_jobs.any? do |job| - args.all? { |key, value| value == job[key] } + serialized_args.all? { |key, value| value == job[key] } end assert matching_job, "No performed job found with #{args}" ensure @@ -239,6 +241,14 @@ module ActiveJob enqueued_jobs.size end end + + def serialize_args_for_assertion(args) + serialized_args = args.dup + if job_args = serialized_args.delete(:args) + serialized_args[:args] = ActiveJob::Arguments.serialize(job_args) + end + serialized_args + end end end end |