Skip to content

Commit 8310395

Browse files
authored
Merge pull request #2346 from rspec/add-active-job-offset-example
Add extra spec for time offsets / frozen time
2 parents 679ad04 + 33188f6 commit 8310395

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

spec/rspec/rails/matchers/active_job_spec.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ def self.find(_id)
3333
end
3434

3535
RSpec.describe "ActiveJob matchers", skip: !RSpec::Rails::FeatureCheck.has_active_job? do
36+
include ActiveSupport::Testing::TimeHelpers if defined?(ActiveSupport::Testing::TimeHelpers)
37+
3638
around do |example|
3739
original_logger = ActiveJob::Base.logger
3840
ActiveJob::Base.logger = Logger.new(nil) # Silence messages "[ActiveJob] Enqueued ...".
@@ -223,6 +225,14 @@ def self.name; "LoggingJob"; end
223225
}.to have_enqueued_job.at(time)
224226
end
225227

228+
skip_freeze_time = method_defined?(:freeze_time) ? false : "#freeze_time is undefined"
229+
it "works with time offsets", skip: skip_freeze_time do
230+
freeze_time do
231+
time = Time.current
232+
expect { hello_job.set(wait: 5).perform_later }.to have_enqueued_job.at(time + 5)
233+
end
234+
end
235+
226236
it "accepts composable matchers as an at date" do
227237
future = 1.minute.from_now
228238
slightly_earlier = 58.seconds.from_now

0 commit comments

Comments
 (0)