diff options
author | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2019-03-22 15:52:36 -0400 |
---|---|---|
committer | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2019-03-22 17:04:56 -0400 |
commit | 7f038621dfd7eba316b601b010cbf442b63ea17e (patch) | |
tree | 6dd343257cb2e2e91981e258c6a91ab297d2f3af /activejob/lib/active_job | |
parent | 4c8a333ac1278ec49cc78097b1c64d00338c01f2 (diff) | |
download | rails-7f038621dfd7eba316b601b010cbf442b63ea17e.tar.gz rails-7f038621dfd7eba316b601b010cbf442b63ea17e.tar.bz2 rails-7f038621dfd7eba316b601b010cbf442b63ea17e.zip |
Drop microseconds in job argument assertions
Diffstat (limited to 'activejob/lib/active_job')
-rw-r--r-- | activejob/lib/active_job/test_helper.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/activejob/lib/active_job/test_helper.rb b/activejob/lib/active_job/test_helper.rb index f03780b91e..e5e2b086bc 100644 --- a/activejob/lib/active_job/test_helper.rb +++ b/activejob/lib/active_job/test_helper.rb @@ -631,6 +631,20 @@ module ActiveJob def prepare_args_for_assertion(args) args.dup.tap do |arguments| arguments[:at] = arguments[:at].to_f if arguments[:at] + arguments[:args] = round_time_arguments(arguments[:args]) if arguments[:args] + end + end + + def round_time_arguments(argument) + case argument + when Time, ActiveSupport::TimeWithZone, DateTime + argument.change(usec: 0) + when Hash + argument.transform_values { |value| round_time_arguments(value) } + when Array + argument.map { |element| round_time_arguments(element) } + else + argument end end |