Commit 465d69012d31b71eeb8825dd83f4845069eb3112

Authored by Marvin Frederickson
1 parent 483cc5f9
Exists in master

use username field if configured

spec/acceptance/acceptance_helper.rb
@@ -22,7 +22,13 @@ end @@ -22,7 +22,13 @@ end
22 22
23 def log_in(user) 23 def log_in(user)
24 visit '/' 24 visit '/'
25 - fill_in :user_email, with: user.email 25 +
  26 + if Errbit::Config.user_has_username
  27 + fill_in :user_username, with: user.username
  28 + else
  29 + fill_in :user_email, with: user.email
  30 + end
  31 +
26 fill_in :user_password, with: 'password' 32 fill_in :user_password, with: 'password'
27 click_on I18n.t('devise.sessions.new.sign_in') 33 click_on I18n.t('devise.sessions.new.sign_in')
28 end 34 end
spec/controllers/devise_sessions_controller_spec.rb
@@ -10,13 +10,24 @@ describe Devise::SessionsController, type: 'controller' do @@ -10,13 +10,24 @@ describe Devise::SessionsController, type: 'controller' do
10 let(:user) { Fabricate(:user) } 10 let(:user) { Fabricate(:user) }
11 11
12 it 'redirects to app index page if there are no apps for the user' do 12 it 'redirects to app index page if there are no apps for the user' do
13 - post :create, user: { 'email' => user.email, 'password' => user.password } 13 + details = { 'email' => user.email, 'password' => user.password }
  14 + if Errbit::Config.user_has_username
  15 + details['username'] = user.username
  16 + end
  17 +
  18 + post :create, user: details
14 expect(response).to redirect_to(root_path) 19 expect(response).to redirect_to(root_path)
15 end 20 end
16 21
17 it 'displays a friendly error when credentials are invalid' do 22 it 'displays a friendly error when credentials are invalid' do
18 - post :create, user: { 'email' => 'whatever', 'password' => 'somethinginvalid' }  
19 - expect(request.flash["alert"]).to eq(I18n.t 'devise.failure.user.email_invalid') 23 + details = { 'email' => 'whatever', 'password' => 'somethinginvalid' }
  24 + msg = I18n.t('devise.failure.user.email_invalid')
  25 + if Errbit::Config.user_has_username
  26 + details['username'] = 'somethinginvalid'
  27 + msg = I18n.t('devise.failure.user.username_invalid')
  28 + end
  29 + post :create, user: details
  30 + expect(request.flash["alert"]).to eq(msg)
20 end 31 end
21 end 32 end
22 end 33 end