diff --git a/spec/models/event_registration_spec.rb b/spec/models/event_registration_spec.rb index 8a37cc56f5..ec364e1cd8 100644 --- a/spec/models/event_registration_spec.rb +++ b/spec/models/event_registration_spec.rb @@ -535,6 +535,10 @@ def registration_with_scholarship end describe "#joinable?" do + # Freeze the clock so the join-window boundary cases (events placed exactly + # 1 minute inside the 30-minute buffer) can't flake on wall-clock drift. + before { freeze_time } + let(:event) { create(:event, cost_cents: 1099, start_date: 1.hour.ago, end_date: 1.hour.from_now) } let(:user) { create(:user, :with_person) } diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 3c5a4e6834..962224f3db 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -48,6 +48,10 @@ RSpec.configure do |config| # Gives travel method for time helpers config.include ActiveSupport::Testing::TimeHelpers + # RSpec doesn't run minitest teardown, so travel_to never auto-reverts — freeze + # one example and the frozen clock leaks into later specs. Always reset after + # each example (no-op when time wasn't traveled). + config.after { travel_back } # Include pagination helper globally config.include PaginationHelpers