* show message for last attempt, not for one-before-last one;

* update test to check the message :invalid, :last_attempt, :locked
This commit is contained in:
Vitaly Bezkrovny 2013-10-22 00:43:56 +03:00
parent a8069be4c8
commit bb810cfb8f
2 changed files with 6 additions and 3 deletions

View File

@ -128,7 +128,7 @@ module Devise
end
def last_attempt?
self.failed_attempts == self.class.maximum_attempts - 1
self.failed_attempts == self.class.maximum_attempts
end
# Tells if the lock is expired if :time unlock strategy is active

View File

@ -284,11 +284,14 @@ class LockableTest < ActiveSupport::TestCase
swap Devise, :last_attempt_warning => :true do
swap Devise, :lock_strategy => :failed_attempts do
user = create_user
user.failed_attempts = Devise.maximum_attempts - 2
user.failed_attempts = Devise.maximum_attempts - 1
assert_equal :invalid, user.unauthenticated_message
user.failed_attempts = Devise.maximum_attempts - 1
user.failed_attempts = Devise.maximum_attempts
assert_equal :last_attempt, user.unauthenticated_message
user.failed_attempts = Devise.maximum_attempts + 1
assert_equal :locked, user.unauthenticated_message
end
end
end