From e9da52f6c0d6eeab5baac93f5bab2e08e3282975 Mon Sep 17 00:00:00 2001 From: Daniela Feitosa Date: Tue, 2 Dec 2014 19:14:49 -0300 Subject: [PATCH] Prevent templates from being destroyed --- lib/user_activation_job.rb | 2 +- test/unit/user_activation_job_test.rb | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/user_activation_job.rb b/lib/user_activation_job.rb index 84f5b9f..7900b20 100644 --- a/lib/user_activation_job.rb +++ b/lib/user_activation_job.rb @@ -1,6 +1,6 @@ class UserActivationJob < Struct.new(:user_id) def perform user = User.find(user_id) - user.destroy unless user.activated? + user.destroy unless user.activated? || user.person.is_template? end end diff --git a/test/unit/user_activation_job_test.rb b/test/unit/user_activation_job_test.rb index 1f657b1..bba8f07 100644 --- a/test/unit/user_activation_job_test.rb +++ b/test/unit/user_activation_job_test.rb @@ -29,6 +29,17 @@ class NotifyActivityToProfilesJobTest < ActiveSupport::TestCase end end + should 'not destroy user if not activated but is template' do + user = new_user :login => 'test3' + user.person.is_template = true + user.person.save + job = UserActivationJob.new(user.id) + assert_no_difference User, :count do + job.perform + process_delayed_job_queue + end + end + protected def new_user(options = {}) user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options)) -- libgit2 0.21.2