Commit 5ca01ec2aaf8d425e46b9017e39661bcaf5dcde5

Authored by Daniela Feitosa
Committed by Victor Costa
1 parent 28d0b16d

Prevent templates from being destroyed

Check if is template before creating job to check activation
app/models/user.rb
@@ -363,6 +363,7 @@ class User < ActiveRecord::Base @@ -363,6 +363,7 @@ class User < ActiveRecord::Base
363 end 363 end
364 364
365 def delay_activation_check 365 def delay_activation_check
  366 + return if person.is_template?
366 Delayed::Job.enqueue(UserActivationJob.new(self.id), {:priority => 0, :run_at => 72.hours.from_now}) 367 Delayed::Job.enqueue(UserActivationJob.new(self.id), {:priority => 0, :run_at => 72.hours.from_now})
367 end 368 end
368 end 369 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