Commit 0e46219fe711ca8d8bb5633eb068982dabdc6c11
1 parent
a0b2a343
Exists in
master
and in
27 other branches
rails3: fix user unit tests
Change the way of sending signup mail
Showing
3 changed files
with
13 additions
and
5 deletions
Show diff stats
app/mailers/user_mailer.rb
@@ -34,7 +34,14 @@ class UserMailer < ActionMailer::Base | @@ -34,7 +34,14 @@ class UserMailer < ActionMailer::Base | ||
34 | content_type: 'text/html', | 34 | content_type: 'text/html', |
35 | to: user.email, | 35 | to: user.email, |
36 | from: "#{user.environment.name} <#{user.environment.contact_email}>", | 36 | from: "#{user.environment.name} <#{user.environment.contact_email}>", |
37 | - subject: email_subject.blank? ? _("Welcome to environment %s") % [user.environment.name] : email_subject | 37 | + subject: email_subject.blank? ? _("Welcome to environment %s") % [user.environment.name] : email_subject, |
38 | + body: @body | ||
38 | ) | 39 | ) |
39 | end | 40 | end |
41 | + | ||
42 | + class Job < Struct.new(:user, :method) | ||
43 | + def perform | ||
44 | + UserMailer.send(method, user).deliver | ||
45 | + end | ||
46 | + end | ||
40 | end | 47 | end |
app/models/user.rb
@@ -113,7 +113,7 @@ class User < ActiveRecord::Base | @@ -113,7 +113,7 @@ class User < ActiveRecord::Base | ||
113 | false | 113 | false |
114 | else | 114 | else |
115 | if environment.enabled?('send_welcome_email_to_new_users') && environment.has_signup_welcome_text? | 115 | if environment.enabled?('send_welcome_email_to_new_users') && environment.has_signup_welcome_text? |
116 | - UserMailer.delay.signup_welcome_email(self) | 116 | + Delayed::Job.enqueue(UserMailer::Job.new(self, :signup_welcome_email)) |
117 | end | 117 | end |
118 | true | 118 | true |
119 | end | 119 | end |
test/unit/user_test.rb
@@ -517,9 +517,8 @@ class UserTest < ActiveSupport::TestCase | @@ -517,9 +517,8 @@ class UserTest < ActiveSupport::TestCase | ||
517 | end | 517 | end |
518 | 518 | ||
519 | should 'delay activation check' do | 519 | should 'delay activation check' do |
520 | - assert_difference 'Delayed::Job.count', 1 do | ||
521 | - user = new_user | ||
522 | - end | 520 | + user = new_user |
521 | + assert_match /UserActivationJob/, Delayed::Job.last.handler | ||
523 | end | 522 | end |
524 | 523 | ||
525 | should 'deactivate an user' do | 524 | should 'deactivate an user' do |
@@ -605,6 +604,7 @@ class UserTest < ActiveSupport::TestCase | @@ -605,6 +604,7 @@ class UserTest < ActiveSupport::TestCase | ||
605 | user = new_user :email => 'pending@activation.com' | 604 | user = new_user :email => 'pending@activation.com' |
606 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do | 605 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
607 | user.activate | 606 | user.activate |
607 | + process_delayed_job_queue | ||
608 | end | 608 | end |
609 | 609 | ||
610 | sent = ActionMailer::Base.deliveries.last | 610 | sent = ActionMailer::Base.deliveries.last |
@@ -623,6 +623,7 @@ class UserTest < ActiveSupport::TestCase | @@ -623,6 +623,7 @@ class UserTest < ActiveSupport::TestCase | ||
623 | user = new_user :name => 'John Doe', :email => 'pending@activation.com' | 623 | user = new_user :name => 'John Doe', :email => 'pending@activation.com' |
624 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do | 624 | assert_difference 'ActionMailer::Base.deliveries.size', 1 do |
625 | user.activate | 625 | user.activate |
626 | + process_delayed_job_queue | ||
626 | end | 627 | end |
627 | 628 | ||
628 | sent = ActionMailer::Base.deliveries.last | 629 | sent = ActionMailer::Base.deliveries.last |