Commit da464f010dbd05a41df4bd71a6fead897731309a

Authored by Daniela Feitosa
1 parent 108f6a21

Prevent templates from being destroyed

Check if is template before creating job to check activation
app/models/user.rb
@@ -350,6 +350,7 @@ class User < ActiveRecord::Base @@ -350,6 +350,7 @@ class User < ActiveRecord::Base
350 end 350 end
351 351
352 def delay_activation_check 352 def delay_activation_check
  353 + return if person.is_template?
353 Delayed::Job.enqueue(UserActivationJob.new(self.id), {:priority => 0, :run_at => 72.hours.from_now}) 354 Delayed::Job.enqueue(UserActivationJob.new(self.id), {:priority => 0, :run_at => 72.hours.from_now})
354 end 355 end
355 end 356 end
test/unit/user_activation_job_test.rb
@@ -34,7 +34,7 @@ class NotifyActivityToProfilesJobTest < ActiveSupport::TestCase @@ -34,7 +34,7 @@ class NotifyActivityToProfilesJobTest < ActiveSupport::TestCase
34 user.person.is_template = true 34 user.person.is_template = true
35 user.person.save 35 user.person.save
36 job = UserActivationJob.new(user.id) 36 job = UserActivationJob.new(user.id)
37 - assert_no_difference User, :count do 37 + assert_no_difference 'User.count' do
38 job.perform 38 job.perform
39 process_delayed_job_queue 39 process_delayed_job_queue
40 end 40 end
test/unit/user_test.rb
@@ -525,6 +525,13 @@ class UserTest < ActiveSupport::TestCase @@ -525,6 +525,13 @@ class UserTest < ActiveSupport::TestCase
525 assert_match /UserActivationJob/, Delayed::Job.last.handler 525 assert_match /UserActivationJob/, Delayed::Job.last.handler
526 end 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 should 'deactivate an user' do 535 should 'deactivate an user' do
529 user = new_user 536 user = new_user
530 user.activate 537 user.activate