Commit 9f85f19d10c63c970ae54a086bf3119a183d874f
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Merge branch 'register_performance' into production
Showing
5 changed files
with
14 additions
and
2 deletions
Show diff stats
app/models/person.rb
@@ -310,7 +310,7 @@ roles] } | @@ -310,7 +310,7 @@ roles] } | ||
310 | end | 310 | end |
311 | 311 | ||
312 | after_update do |person| | 312 | after_update do |person| |
313 | - person.user.save! | 313 | + person.user.save! unless person.user.changes.blank? |
314 | end | 314 | end |
315 | 315 | ||
316 | def is_admin?(environment = nil) | 316 | def is_admin?(environment = nil) |
app/models/user.rb
@@ -394,7 +394,7 @@ class User < ActiveRecord::Base | @@ -394,7 +394,7 @@ class User < ActiveRecord::Base | ||
394 | 394 | ||
395 | def deliver_activation_code | 395 | def deliver_activation_code |
396 | return if person.is_template? | 396 | return if person.is_template? |
397 | - UserMailer.activation_code(self).deliver unless self.activation_code.blank? | 397 | + Delayed::Job.enqueue(UserMailer::Job.new(self, :activation_code)) unless self.activation_code.blank? |
398 | end | 398 | end |
399 | 399 | ||
400 | def delay_activation_check | 400 | def delay_activation_check |
test/functional/search_controller_test.rb
@@ -30,6 +30,7 @@ class SearchControllerTest < ActionController::TestCase | @@ -30,6 +30,7 @@ class SearchControllerTest < ActionController::TestCase | ||
30 | # By pass user validation on person creation | 30 | # By pass user validation on person creation |
31 | user = mock() | 31 | user = mock() |
32 | user.stubs(:id).returns(1) | 32 | user.stubs(:id).returns(1) |
33 | + user.stubs(:changes).returns(nil) | ||
33 | user.stubs(:valid?).returns(true) | 34 | user.stubs(:valid?).returns(true) |
34 | user.stubs(:email).returns('some@test.com') | 35 | user.stubs(:email).returns('some@test.com') |
35 | user.stubs(:save!).returns(true) | 36 | user.stubs(:save!).returns(true) |
test/unit/person_test.rb
@@ -1827,4 +1827,11 @@ class PersonTest < ActiveSupport::TestCase | @@ -1827,4 +1827,11 @@ class PersonTest < ActiveSupport::TestCase | ||
1827 | assert person.voted_against?(article) | 1827 | assert person.voted_against?(article) |
1828 | end | 1828 | end |
1829 | 1829 | ||
1830 | + should 'not save user after an update on person and user is not touched' do | ||
1831 | + user = create_user('testuser') | ||
1832 | + person = user.person | ||
1833 | + person.user.expects(:save!).never | ||
1834 | + person.save! | ||
1835 | + end | ||
1836 | + | ||
1830 | end | 1837 | end |
test/unit/user_test.rb
@@ -528,6 +528,7 @@ class UserTest < ActiveSupport::TestCase | @@ -528,6 +528,7 @@ class UserTest < ActiveSupport::TestCase | ||
528 | should 'deliver e-mail with activation code after creation' do | 528 | should 'deliver e-mail with activation code after creation' do |
529 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do | 529 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
530 | new_user :email => 'pending@activation.com' | 530 | new_user :email => 'pending@activation.com' |
531 | + process_delayed_job_queue | ||
531 | end | 532 | end |
532 | assert_equal 'pending@activation.com', ActionMailer::Base.deliveries.last['to'].to_s | 533 | assert_equal 'pending@activation.com', ActionMailer::Base.deliveries.last['to'].to_s |
533 | end | 534 | end |
@@ -656,6 +657,7 @@ class UserTest < ActiveSupport::TestCase | @@ -656,6 +657,7 @@ class UserTest < ActiveSupport::TestCase | ||
656 | env.save | 657 | env.save |
657 | 658 | ||
658 | user = new_user :email => 'pending@activation.com' | 659 | user = new_user :email => 'pending@activation.com' |
660 | + process_delayed_job_queue | ||
659 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do | 661 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
660 | user.activate | 662 | user.activate |
661 | process_delayed_job_queue | 663 | process_delayed_job_queue |
@@ -676,6 +678,7 @@ class UserTest < ActiveSupport::TestCase | @@ -676,6 +678,7 @@ class UserTest < ActiveSupport::TestCase | ||
676 | env.save | 678 | env.save |
677 | 679 | ||
678 | user = new_user :email => 'pending@activation.com' | 680 | user = new_user :email => 'pending@activation.com' |
681 | + process_delayed_job_queue | ||
679 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do | 682 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
680 | user.activate | 683 | user.activate |
681 | process_delayed_job_queue | 684 | process_delayed_job_queue |
@@ -695,6 +698,7 @@ class UserTest < ActiveSupport::TestCase | @@ -695,6 +698,7 @@ class UserTest < ActiveSupport::TestCase | ||
695 | env.save | 698 | env.save |
696 | 699 | ||
697 | user = new_user :name => 'John Doe', :email => 'pending@activation.com' | 700 | user = new_user :name => 'John Doe', :email => 'pending@activation.com' |
701 | + process_delayed_job_queue | ||
698 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do | 702 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
699 | user.activate | 703 | user.activate |
700 | process_delayed_job_queue | 704 | process_delayed_job_queue |