Commit ad7ad874 authored by Robert Speicher's avatar Robert Speicher

Add User#recently_sent_password_reset?

parent 19748dde
...@@ -327,6 +327,10 @@ class User < ActiveRecord::Base ...@@ -327,6 +327,10 @@ class User < ActiveRecord::Base
@reset_token @reset_token
end end
def recently_sent_password_reset?
reset_password_sent_at.present? && reset_password_sent_at >= 1.minute.ago
end
def disable_two_factor! def disable_two_factor!
update_attributes( update_attributes(
two_factor_enabled: false, two_factor_enabled: false,
......
...@@ -227,6 +227,26 @@ describe User do ...@@ -227,6 +227,26 @@ describe User do
end end
end end
describe 'recently_sent_password_reset?' do
it 'is false when reset_password_sent_at is nil' do
user = build_stubbed(:user, reset_password_sent_at: nil)
expect(user.recently_sent_password_reset?).to eq false
end
it 'is false when sent more than one minute ago' do
user = build_stubbed(:user, reset_password_sent_at: 5.minutes.ago)
expect(user.recently_sent_password_reset?).to eq false
end
it 'is true when sent less than one minute ago' do
user = build_stubbed(:user, reset_password_sent_at: Time.now)
expect(user.recently_sent_password_reset?).to eq true
end
end
describe '#disable_two_factor!' do describe '#disable_two_factor!' do
it 'clears all 2FA-related fields' do it 'clears all 2FA-related fields' do
user = create(:user, :two_factor) user = create(:user, :two_factor)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment