From 827cb23a5e3648fe8ff5dcfdea3d623232045dba Mon Sep 17 00:00:00 2001 From: Stephen Crosby Date: Tue, 20 Jan 2015 12:10:30 -0800 Subject: [PATCH] fixes #811 ensure friendly error on invalid creds --- config/initializers/overrides.rb | 1 - lib/overrides/devise/failure_app.rb | 15 --------------- spec/controllers/devise_sessions_controller_spec.rb | 5 +++++ 3 files changed, 5 insertions(+), 16 deletions(-) delete mode 100644 lib/overrides/devise/failure_app.rb diff --git a/config/initializers/overrides.rb b/config/initializers/overrides.rb index 4d7f3ba..8c3730a 100644 --- a/config/initializers/overrides.rb +++ b/config/initializers/overrides.rb @@ -1,4 +1,3 @@ -require Rails.root.join('lib/overrides/devise/failure_app') require Rails.root.join('lib/overrides/hoptoad_notifier/hoptoad_notifier') class BSON::ObjectId diff --git a/lib/overrides/devise/failure_app.rb b/lib/overrides/devise/failure_app.rb deleted file mode 100644 index 33b1e17..0000000 --- a/lib/overrides/devise/failure_app.rb +++ /dev/null @@ -1,15 +0,0 @@ -Devise::FailureApp.class_eval do - protected - # Handles both 'email_invalid' and 'username_invalid' messages. - def i18n_message(default = nil) - message = warden.message || warden_options[:message] || default || :unauthenticated - - if message.is_a?(Symbol) - I18n.t(:"#{scope}.#{Devise.authentication_keys.first}_#{message}", :resource_name => scope, - :scope => "devise.failure", :default => [message, message.to_s]) - else - message.to_s - end - end -end - diff --git a/spec/controllers/devise_sessions_controller_spec.rb b/spec/controllers/devise_sessions_controller_spec.rb index 7ff91e7..f0814f3 100644 --- a/spec/controllers/devise_sessions_controller_spec.rb +++ b/spec/controllers/devise_sessions_controller_spec.rb @@ -19,5 +19,10 @@ describe Devise::SessionsController, type: 'controller' do post :create, { :user => { 'email' => user.email, 'password' => user.password } } expect(response).to redirect_to(app_path(app)) end + + it 'displays a friendly error when credentials are invalid' do + post :create, { :user => { 'email' => 'whatever', 'password' => 'somethinginvalid' } } + expect(request.flash["alert"]).to eq(I18n.t 'devise.failure.user.email_invalid') + end end end -- libgit2 0.21.2