diff --git a/app/models/user.rb b/app/models/user.rb index f9f2e40a..e0278bd5 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -71,7 +71,7 @@ class User < ActiveRecord::Base user.update_attributes(email: attributes[:email]) else begin - user = create(username: username, email: attributes[:email]) + user = create!(username: username, email: attributes[:email]) rescue ActiveRecord::RecordNotUnique raise IChainRecordNotFound end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index fbae0ef3..82ee27d2 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -12,6 +12,12 @@ describe User do let!(:organizer) { create(:user, role_ids: [organizer_role.id]) } let!(:user) { create(:user) } + it 'User.for_ichain_username raises exception if user is disabled' do + user.is_disabled = true + user.save + expect{User.for_ichain_username(user.username, email: user.email)}.to raise_error(UserDisabled) + end + it 'returns the correct role' do expect(user_admin.is_admin).to eq(true) expect(organizer.roles.first).to eq(organizer_role)