Merge pull request #8395 from denschub/time-travel

Fixes for two date-related spec breakages
This commit is contained in:
Benjamin Neff 2022-09-21 02:46:41 +02:00
commit 03796e8fe2
No known key found for this signature in database
GPG key ID: 971464C3F1A90194
2 changed files with 8 additions and 11 deletions

View file

@ -6,15 +6,10 @@ describe Workers::CheckBirthday do
let(:contact2) { eve.contact_for(bob.person) }
before do
Timecop.freeze(Time.zone.local(1999, 9, 9))
birthday_profile.update(birthday: "1990-09-09")
birthday_profile.update(birthday: Time.zone.now)
allow(Notifications::ContactsBirthday).to receive(:notify)
end
after do
Timecop.return
end
it "calls notify method for the birthday person's contacts" do
Workers::CheckBirthday.new.perform
expect(Notifications::ContactsBirthday).to have_received(:notify).with(contact1, [])
@ -24,13 +19,15 @@ describe Workers::CheckBirthday do
it "does nothing if the birthday does not exist" do
birthday_profile.update(birthday: nil)
Workers::CheckBirthday.new.perform
expect(Notifications::ContactsBirthday).not_to have_received(:notify)
expect(Notifications::ContactsBirthday).not_to have_received(:notify).with(contact1, [])
expect(Notifications::ContactsBirthday).not_to have_received(:notify).with(contact2, [])
end
it "does nothing if the person's birthday is not today" do
birthday_profile.update(birthday: "1988-04-15")
birthday_profile.update(birthday: Time.zone.now - 1.day)
Workers::CheckBirthday.new.perform
expect(Notifications::ContactsBirthday).not_to have_received(:notify)
expect(Notifications::ContactsBirthday).not_to have_received(:notify).with(contact1, [])
expect(Notifications::ContactsBirthday).not_to have_received(:notify).with(contact2, [])
end
it "does not call notify method if a person is not a contact of the birthday person" do

View file

@ -22,7 +22,7 @@ describe Workers::QueueUsersForRemoval do
user = FactoryBot.create(:user, last_seen: Time.zone.now - 732.days, sign_in_count: 5)
Workers::QueueUsersForRemoval.new.perform
user.reload
expect(user.remove_after.to_i).to eq(removal_date.utc.to_i)
expect(user.remove_after.to_i).to be_within(1.day).of(removal_date.utc.to_i)
expect(ActionMailer::Base.deliveries.count).to eq(1)
end
@ -31,7 +31,7 @@ describe Workers::QueueUsersForRemoval do
user = FactoryBot.create(:user, last_seen: Time.zone.now - 735.days, sign_in_count: 0)
Workers::QueueUsersForRemoval.new.perform
user.reload
expect(user.remove_after.to_i).to eq(removal_date.utc.to_i)
expect(user.remove_after.to_i).to be_within(1.day).of(removal_date.utc.to_i)
expect(ActionMailer::Base.deliveries.count).to eq(0) # no email sent
end