Commit 9f85f19d10c63c970ae54a086bf3119a183d874f
Exists in
staging
and in
4 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
app/models/user.rb
| ... | ... | @@ -394,7 +394,7 @@ class User < ActiveRecord::Base |
| 394 | 394 | |
| 395 | 395 | def deliver_activation_code |
| 396 | 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 | 398 | end |
| 399 | 399 | |
| 400 | 400 | def delay_activation_check | ... | ... |
test/functional/search_controller_test.rb
| ... | ... | @@ -30,6 +30,7 @@ class SearchControllerTest < ActionController::TestCase |
| 30 | 30 | # By pass user validation on person creation |
| 31 | 31 | user = mock() |
| 32 | 32 | user.stubs(:id).returns(1) |
| 33 | + user.stubs(:changes).returns(nil) | |
| 33 | 34 | user.stubs(:valid?).returns(true) |
| 34 | 35 | user.stubs(:email).returns('some@test.com') |
| 35 | 36 | user.stubs(:save!).returns(true) | ... | ... |
test/unit/person_test.rb
| ... | ... | @@ -1827,4 +1827,11 @@ class PersonTest < ActiveSupport::TestCase |
| 1827 | 1827 | assert person.voted_against?(article) |
| 1828 | 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 | 1837 | end | ... | ... |
test/unit/user_test.rb
| ... | ... | @@ -528,6 +528,7 @@ class UserTest < ActiveSupport::TestCase |
| 528 | 528 | should 'deliver e-mail with activation code after creation' do |
| 529 | 529 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
| 530 | 530 | new_user :email => 'pending@activation.com' |
| 531 | + process_delayed_job_queue | |
| 531 | 532 | end |
| 532 | 533 | assert_equal 'pending@activation.com', ActionMailer::Base.deliveries.last['to'].to_s |
| 533 | 534 | end |
| ... | ... | @@ -656,6 +657,7 @@ class UserTest < ActiveSupport::TestCase |
| 656 | 657 | env.save |
| 657 | 658 | |
| 658 | 659 | user = new_user :email => 'pending@activation.com' |
| 660 | + process_delayed_job_queue | |
| 659 | 661 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
| 660 | 662 | user.activate |
| 661 | 663 | process_delayed_job_queue |
| ... | ... | @@ -676,6 +678,7 @@ class UserTest < ActiveSupport::TestCase |
| 676 | 678 | env.save |
| 677 | 679 | |
| 678 | 680 | user = new_user :email => 'pending@activation.com' |
| 681 | + process_delayed_job_queue | |
| 679 | 682 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
| 680 | 683 | user.activate |
| 681 | 684 | process_delayed_job_queue |
| ... | ... | @@ -695,6 +698,7 @@ class UserTest < ActiveSupport::TestCase |
| 695 | 698 | env.save |
| 696 | 699 | |
| 697 | 700 | user = new_user :name => 'John Doe', :email => 'pending@activation.com' |
| 701 | + process_delayed_job_queue | |
| 698 | 702 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
| 699 | 703 | user.activate |
| 700 | 704 | process_delayed_job_queue | ... | ... |