From 130d68419857f3ba0cdc75fafbf65e6e96948797 Mon Sep 17 00:00:00 2001 From: Gabe Martin-Dempesy Date: Mon, 19 Nov 2012 15:49:21 -0800 Subject: [PATCH] Change failure key for missing database resource to :invalid_email --- config/locales/en.yml | 2 +- lib/devise/strategies/database_authenticatable.rb | 2 +- test/integration/database_authenticatable_test.rb | 12 +++++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 73c6bd5a..824c4ce8 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -18,8 +18,8 @@ en: unauthenticated: 'You need to sign in or sign up before continuing.' unconfirmed: 'You have to confirm your account before continuing.' locked: 'Your account is locked.' - nonexistent: 'Invalid email or password.' invalid: 'Invalid email or password.' + invalid_email: 'Invalid email or password.' invalid_token: 'Invalid authentication token.' timeout: 'Your session expired, please sign in again to continue.' inactive: 'Your account was not activated yet.' diff --git a/lib/devise/strategies/database_authenticatable.rb b/lib/devise/strategies/database_authenticatable.rb index 831e5f56..78d95812 100644 --- a/lib/devise/strategies/database_authenticatable.rb +++ b/lib/devise/strategies/database_authenticatable.rb @@ -6,7 +6,7 @@ module Devise class DatabaseAuthenticatable < Authenticatable def authenticate! resource = valid_password? && mapping.to.find_for_database_authentication(authentication_hash) - return fail(:nonexistent) unless resource + return fail(:invalid_email) unless resource if validate(resource){ resource.valid_password?(password) } resource.after_database_authentication diff --git a/test/integration/database_authenticatable_test.rb b/test/integration/database_authenticatable_test.rb index 51074d3a..39c2e2cd 100644 --- a/test/integration/database_authenticatable_test.rb +++ b/test/integration/database_authenticatable_test.rb @@ -53,12 +53,14 @@ class DatabaseAuthenticationTest < ActionController::IntegrationTest end test 'sign in with invalid email should return to sign in form with error message' do - sign_in_as_admin do - fill_in 'email', :with => 'wrongemail@test.com' - end + store_translations :en, :devise => { :failure => { :admin => { :invalid_email => 'Invalid email address' } } } do + sign_in_as_admin do + fill_in 'email', :with => 'wrongemail@test.com' + end - assert_contain 'Invalid email or password' - assert_not warden.authenticated?(:admin) + assert_contain 'Invalid email address' + assert_not warden.authenticated?(:admin) + end end test 'sign in with invalid pasword should return to sign in form with error message' do