FEATURE: remove the timecop gem

We should only have one way of mocking time, misuse of timecop
was causing build stability issues
This commit is contained in:
Sam Saffron
2017-07-24 09:17:42 -04:00
committed by Sam
parent 40174962e2
commit 045a2abcec
35 changed files with 459 additions and 473 deletions

View File

@ -31,14 +31,13 @@ describe User do
describe '#count_by_signup_date' do
before(:each) do
User.destroy_all
Timecop.freeze
freeze_time
Fabricate(:user)
Fabricate(:user, created_at: 1.day.ago)
Fabricate(:user, created_at: 1.day.ago)
Fabricate(:user, created_at: 2.days.ago)
Fabricate(:user, created_at: 4.days.ago)
end
after(:each) { Timecop.return }
let(:signups_by_day) { {1.day.ago.to_date => 2, 2.days.ago.to_date => 1, Time.now.utc.to_date => 1} }
it 'collect closed interval signups' do
@ -716,14 +715,10 @@ describe User do
let!(:date) { Time.zone.now }
before do
Timecop.freeze(date)
freeze_time date
user.update_last_seen!
end
after do
Timecop.return
end
it "updates last_seen_at" do
expect(user.last_seen_at).to be_within_one_second_of(date)
end
@ -740,16 +735,12 @@ describe User do
context "called twice" do
before do
Timecop.freeze(date)
freeze_time date
user.update_last_seen!
user.update_last_seen!
user.reload
end
after do
Timecop.return
end
it "doesn't increase days_visited twice" do
expect(user.user_stat.days_visited).to eq(1)
end
@ -760,14 +751,10 @@ describe User do
let!(:future_date) { 3.days.from_now }
before do
Timecop.freeze(future_date)
freeze_time future_date
user.update_last_seen!
end
after do
Timecop.return
end
it "should log a second visited_at record when we log an update later" do
expect(user.user_visits.count).to eq(2)
end
@ -1498,7 +1485,7 @@ describe User do
describe '.human_users' do
it 'should only return users with a positive primary key' do
Fabricate(:user, id: -2)
Fabricate(:user, id: -1979)
user = Fabricate(:user)
expect(User.human_users).to eq([user])