Commit f094d0b5a76273ec9a5d2970f3c45c4157c556bd
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'fix_members_listing' into stable
Showing
4 changed files
with
20 additions
and
1 deletions
Show diff stats
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 |
lib/user_activation_job.rb
1 | class UserActivationJob < Struct.new(:user_id) | 1 | class UserActivationJob < Struct.new(:user_id) |
2 | def perform | 2 | def perform |
3 | user = User.find(user_id) | 3 | user = User.find(user_id) |
4 | - user.destroy unless user.activated? | 4 | + user.destroy unless user.activated? || user.person.is_template? |
5 | end | 5 | end |
6 | end | 6 | end |
test/unit/user_activation_job_test.rb
@@ -29,6 +29,17 @@ class NotifyActivityToProfilesJobTest < ActiveSupport::TestCase | @@ -29,6 +29,17 @@ class NotifyActivityToProfilesJobTest < ActiveSupport::TestCase | ||
29 | end | 29 | end |
30 | end | 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 | protected | 43 | protected |
33 | def new_user(options = {}) | 44 | def new_user(options = {}) |
34 | user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options)) | 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 < 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 |