From 465d69012d31b71eeb8825dd83f4845069eb3112 Mon Sep 17 00:00:00 2001 From: Marvin Frederickson Date: Sat, 20 Feb 2016 12:05:36 -0900 Subject: [PATCH] use username field if configured --- spec/acceptance/acceptance_helper.rb | 8 +++++++- spec/controllers/devise_sessions_controller_spec.rb | 17 ++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/spec/acceptance/acceptance_helper.rb b/spec/acceptance/acceptance_helper.rb index 66417be..8167bef 100644 --- a/spec/acceptance/acceptance_helper.rb +++ b/spec/acceptance/acceptance_helper.rb @@ -22,7 +22,13 @@ end def log_in(user) visit '/' - fill_in :user_email, with: user.email + + if Errbit::Config.user_has_username + fill_in :user_username, with: user.username + else + fill_in :user_email, with: user.email + end + fill_in :user_password, with: 'password' click_on I18n.t('devise.sessions.new.sign_in') end diff --git a/spec/controllers/devise_sessions_controller_spec.rb b/spec/controllers/devise_sessions_controller_spec.rb index 58061e9..e50e6f6 100644 --- a/spec/controllers/devise_sessions_controller_spec.rb +++ b/spec/controllers/devise_sessions_controller_spec.rb @@ -10,13 +10,24 @@ describe Devise::SessionsController, type: 'controller' do let(:user) { Fabricate(:user) } it 'redirects to app index page if there are no apps for the user' do - post :create, user: { 'email' => user.email, 'password' => user.password } + details = { 'email' => user.email, 'password' => user.password } + if Errbit::Config.user_has_username + details['username'] = user.username + end + + post :create, user: details expect(response).to redirect_to(root_path) 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') + details = { 'email' => 'whatever', 'password' => 'somethinginvalid' } + msg = I18n.t('devise.failure.user.email_invalid') + if Errbit::Config.user_has_username + details['username'] = 'somethinginvalid' + msg = I18n.t('devise.failure.user.username_invalid') + end + post :create, user: details + expect(request.flash["alert"]).to eq(msg) end end end -- libgit2 0.21.2