Skip to content

Commit aabd403

Browse files
authored
Merge pull request #2528 from codebar/fix/flaky-listable-tests
fix: wrap flaky listable tests in Timecop
2 parents f870911 + df1d5a2 commit aabd403

1 file changed

Lines changed: 16 additions & 12 deletions

File tree

spec/models/concerns/listable_spec.rb

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
subject(:workshop) { Fabricate(:workshop) }
33

44
context 'scopes' do
5-
context '#today_and_upcoming' do
5+
describe '#today_and_upcoming' do
66
it 'returns a list of all today and upcoming workshops' do
77
Timecop.travel(Time.now.utc) do
88
Fabricate.times(2, :past_workshop)
@@ -26,12 +26,14 @@
2626
end
2727
end
2828

29-
context '#upcoming' do
29+
describe '#upcoming' do
3030
it 'returns a list of all upcoming workshops' do
31-
Fabricate.times(2, :past_workshop)
32-
future_workshops = Fabricate.times(1, :workshop)
31+
Timecop.travel(Time.now.utc) do
32+
Fabricate.times(2, :past_workshop)
33+
future_workshops = Fabricate.times(1, :workshop)
3334

34-
expect(Workshop.upcoming).to match_array(future_workshops)
35+
expect(Workshop.upcoming).to match_array(future_workshops)
36+
end
3537
end
3638

3739
it 'returns workshops ordered by date_and_time ascending (soonest first)' do
@@ -44,16 +46,18 @@
4446
end
4547
end
4648

47-
context '#past' do
49+
describe '#past' do
4850
it 'returns a list of all upcoming workshops' do
49-
past_workshops = Fabricate.times(2, :past_workshop)
50-
Fabricate.times(1, :workshop)
51+
Timecop.travel(Time.now.utc) do
52+
past_workshops = Fabricate.times(2, :past_workshop)
53+
Fabricate.times(1, :workshop)
5154

52-
expect(Workshop.past).to match_array(past_workshops)
55+
expect(Workshop.past).to match_array(past_workshops)
56+
end
5357
end
5458
end
5559

56-
context '#recent' do
60+
describe '#recent' do
5761
it 'returns a list of the last 10 workshops' do
5862
Fabricate.times(1, :past_workshop)
5963
Fabricate.times(2, :workshop)
@@ -65,7 +69,7 @@
6569
end
6670
end
6771

68-
context '#completed_since_yesterday' do
72+
describe '#completed_since_yesterday' do
6973
it 'returns a list of yesterday\'s events' do
7074
Fabricate(:workshop, date_and_time: 24.hours.ago)
7175
Fabricate(:workshop, date_and_time: 25.hours.ago)
@@ -78,7 +82,7 @@
7882
end
7983
end
8084

81-
context '#next' do
85+
describe '#next' do
8286
it 'returns the next workshop to take place' do
8387
next_workshop = Fabricate(:workshop, date_and_time: Time.zone.now + 24.hours)
8488
Fabricate(:workshop, date_and_time: Time.zone.now + 29.hours)

0 commit comments

Comments
 (0)