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 22  
23 23 def log_in(user)
24 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 32 fill_in :user_password, with: 'password'
27 33 click_on I18n.t('devise.sessions.new.sign_in')
28 34 end
... ...
spec/controllers/devise_sessions_controller_spec.rb
... ... @@ -10,13 +10,24 @@ describe Devise::SessionsController, type: 'controller' do
10 10 let(:user) { Fabricate(:user) }
11 11  
12 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 19 expect(response).to redirect_to(root_path)
15 20 end
16 21  
17 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 31 end
21 32 end
22 33 end
... ...