@@ -27,7 +27,10 @@ class CallbacksTest < ActiveSupport::TestCase
27
27
test "#enqueue returns false when before_enqueue aborts callback chain and return_false_on_aborted_enqueue = true" do
28
28
prev = ActiveJob ::Base . return_false_on_aborted_enqueue
29
29
ActiveJob ::Base . return_false_on_aborted_enqueue = true
30
- assert_equal false , AbortBeforeEnqueueJob . new . enqueue
30
+
31
+ ActiveSupport ::Deprecation . silence do
32
+ assert_equal false , AbortBeforeEnqueueJob . new . enqueue
33
+ end
31
34
ensure
32
35
ActiveJob ::Base . return_false_on_aborted_enqueue = prev
33
36
end
@@ -48,7 +51,9 @@ class CallbacksTest < ActiveSupport::TestCase
48
51
ActiveJob ::Base . skip_after_callbacks_if_terminated = true
49
52
reload_job
50
53
job = AbortBeforeEnqueueJob . new
51
- job . enqueue
54
+ ActiveSupport ::Deprecation . silence do
55
+ job . enqueue
56
+ end
52
57
53
58
assert_nil ( job . flag )
54
59
ensure
@@ -60,13 +65,31 @@ class CallbacksTest < ActiveSupport::TestCase
60
65
ActiveJob ::Base . skip_after_callbacks_if_terminated = false
61
66
reload_job
62
67
job = AbortBeforeEnqueueJob . new
63
- job . enqueue
68
+ assert_deprecated ( /`after_enqueue` callbacks will no longer run/ ) do
69
+ job . enqueue
70
+ end
64
71
65
72
assert_equal ( "after_enqueue" , job . flag )
66
73
ensure
67
74
ActiveJob ::Base . skip_after_callbacks_if_terminated = prev
68
75
end
69
76
77
+ test "#enqueue does not throw a deprecation warning when skip_after_callbacks_if_terminated_is false but job has no after callbacks" do
78
+ prev = ActiveJob ::Base . skip_after_callbacks_if_terminated
79
+ ActiveJob ::Base . skip_after_callbacks_if_terminated = false
80
+
81
+ job = Class . new ( ActiveJob ::Base ) do
82
+ before_enqueue { throw ( :abort ) }
83
+ self . return_false_on_aborted_enqueue = true
84
+ end . new
85
+
86
+ assert_not_deprecated do
87
+ job . enqueue
88
+ end
89
+ ensure
90
+ ActiveJob ::Base . skip_after_callbacks_if_terminated = prev
91
+ end
92
+
70
93
test "#perform does not run after_perform callbacks when skip_after_callbacks_if_terminated is true" do
71
94
prev = ActiveJob ::Base . skip_after_callbacks_if_terminated
72
95
ActiveJob ::Base . skip_after_callbacks_if_terminated = true
@@ -84,13 +107,30 @@ class CallbacksTest < ActiveSupport::TestCase
84
107
ActiveJob ::Base . skip_after_callbacks_if_terminated = false
85
108
reload_job
86
109
job = AbortBeforeEnqueueJob . new
87
- job . perform_now
110
+ assert_deprecated ( /`after_perform` callbacks will no longer run/ ) do
111
+ job . perform_now
112
+ end
88
113
89
114
assert_equal ( "after_perform" , job . flag )
90
115
ensure
91
116
ActiveJob ::Base . skip_after_callbacks_if_terminated = prev
92
117
end
93
118
119
+ test "#perform does not throw a deprecation warning when skip_after_callbacks_if_terminated_is false but job has no after callbacks" do
120
+ prev = ActiveJob ::Base . skip_after_callbacks_if_terminated
121
+ ActiveJob ::Base . skip_after_callbacks_if_terminated = false
122
+
123
+ job = Class . new ( ActiveJob ::Base ) do
124
+ before_perform { throw ( :abort ) }
125
+ end
126
+
127
+ assert_not_deprecated do
128
+ job . perform_now
129
+ end
130
+ ensure
131
+ ActiveJob ::Base . skip_after_callbacks_if_terminated = prev
132
+ end
133
+
94
134
test "#enqueue returns self when the job was enqueued" do
95
135
job = CallbackJob . new
96
136
assert_equal job , job . enqueue
0 commit comments