mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
4ca5aff9f0
Fix: https://github.com/rails/rails/issues/44399 Could cause `uninitialized constant ActiveJob::Arguments::BigDecimal (NameError)` when loading Active Job in isolation.
1.2 KiB
1.2 KiB
-
Add missing
bigdecimal
require inActiveJob::Arguments
Could cause
uninitialized constant ActiveJob::Arguments::BigDecimal (NameError)
when loading Active Job in isolation.Jean Boussier
-
Allow testing
discard_on/retry_on ActiveJob::DeserializationError
Previously in
perform_enqueued_jobs
,deserialize_arguments_if_needed
was called before callingperform_now
. When a record no longer exists and is serialized using GlobalID this led to raising anActiveJob::DeserializationError
before reachingperform_now
call. This behaviour makes difficult testing the jobdiscard_on/retry_on
logic.Now
deserialize_arguments_if_needed
call is postponed to whenperform_now
is called.Example:
class UpdateUserJob < ActiveJob::Base discard_on ActiveJob::DeserializationError def perform(user) # ... end end # In the test User.destroy_all assert_nothing_raised do perform_enqueued_jobs only: UpdateUserJob end
Jacopo Beschi
Please check 7-0-stable for previous changes.