Commit e9da52f6c0d6eeab5baac93f5bab2e08e3282975

Authored by Daniela Feitosa
1 parent c265f164

Prevent templates from being destroyed

Check if is template before removing an inactive user
lib/user_activation_job.rb
1 1 class UserActivationJob < Struct.new(:user_id)
2 2 def perform
3 3 user = User.find(user_id)
4   - user.destroy unless user.activated?
  4 + user.destroy unless user.activated? || user.person.is_template?
5 5 end
6 6 end
... ...
test/unit/user_activation_job_test.rb
... ... @@ -29,6 +29,17 @@ class NotifyActivityToProfilesJobTest &lt; ActiveSupport::TestCase
29 29 end
30 30 end
31 31  
  32 + should 'not destroy user if not activated but is template' do
  33 + user = new_user :login => 'test3'
  34 + user.person.is_template = true
  35 + user.person.save
  36 + job = UserActivationJob.new(user.id)
  37 + assert_no_difference User, :count do
  38 + job.perform
  39 + process_delayed_job_queue
  40 + end
  41 + end
  42 +
32 43 protected
33 44 def new_user(options = {})
34 45 user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options))
... ...