Commit f094d0b5a76273ec9a5d2970f3c45c4157c556bd

Authored by Victor Costa
2 parents 52eb0a8b fc39396c

Merge branch 'fix_members_listing' into stable

app/models/user.rb
... ... @@ -363,6 +363,7 @@ class User < ActiveRecord::Base
363 363 end
364 364  
365 365 def delay_activation_check
  366 + return if person.is_template?
366 367 Delayed::Job.enqueue(UserActivationJob.new(self.id), {:priority => 0, :run_at => 72.hours.from_now})
367 368 end
368 369 end
... ...
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))
... ...
test/unit/user_test.rb
... ... @@ -525,6 +525,13 @@ class UserTest &lt; ActiveSupport::TestCase
525 525 assert_match /UserActivationJob/, Delayed::Job.last.handler
526 526 end
527 527  
  528 + should 'not create job to check activation to template users' do
  529 + Person.any_instance.stubs(:is_template?).returns(true)
  530 +
  531 + user = new_user
  532 + assert_equal 0, Delayed::Job.by_handler("--- !ruby/struct:UserActivationJob\nuser_id: #{user.id}\n").count
  533 + end
  534 +
528 535 should 'deactivate an user' do
529 536 user = new_user
530 537 user.activate
... ...