Commit 4d9ad46b99ac739104742d2aba9bfba34f8d3942

Authored by Rodrigo Souto
1 parent 990b96ad

rails3: fix pending_task_notifier

app/mailers/pending_task_notifier.rb 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +class PendingTaskNotifier < ActionMailer::Base
  2 +
  3 + def notification(person)
  4 + @person = person
  5 + @tasks = person.tasks.pending
  6 + @organizations_with_pending_tasks = person.organizations_with_pending_tasks
  7 + @environment = person.environment.name
  8 + @url = url_for(:host => person.environment.default_hostname, :controller => 'home')
  9 + @default_hostname = person.environment.default_hostname
  10 + @url_for_pending_tasks = url_for(:host => person.environment.default_hostname, :controller => 'tasks', :profile => person.identifier)
  11 +
  12 + mail(
  13 + to: person.email,
  14 + from: "#{person.environment.name} <#{person.environment.contact_email}>",
  15 + subject: _("[%s] Pending tasks") % person.environment.name
  16 + )
  17 + end
  18 +
  19 +end
app/models/pending_task_notifier.rb
@@ -1,16 +0,0 @@ @@ -1,16 +0,0 @@
1 -class PendingTaskNotifier < ActionMailer::Base  
2 -  
3 - def notification(person)  
4 - recipients person.email  
5 - from "#{person.environment.name} <#{person.environment.contact_email}>"  
6 - subject _("[%s] Pending tasks") % person.environment.name  
7 - body :person => person,  
8 - :tasks => person.tasks.pending,  
9 - :organizations_with_pending_tasks => person.organizations_with_pending_tasks,  
10 - :environment => person.environment.name,  
11 - :url => url_for(:host => person.environment.default_hostname, :controller => 'home'),  
12 - :default_hostname => person.environment.default_hostname,  
13 - :url_for_pending_tasks => url_for(:host => person.environment.default_hostname, :controller => 'tasks', :profile => person.identifier)  
14 - end  
15 -  
16 -end  
test/unit/pending_task_notifier_test.rb
@@ -14,7 +14,7 @@ class PendingTaskNotifierTest &lt; ActiveSupport::TestCase @@ -14,7 +14,7 @@ class PendingTaskNotifierTest &lt; ActiveSupport::TestCase
14 should 'be able to deliver notification' do 14 should 'be able to deliver notification' do
15 env = Environment.default 15 env = Environment.default
16 p = create_user('maelcum').person 16 p = create_user('maelcum').person
17 - response = PendingTaskNotifier.deliver_notification(p) 17 + response = PendingTaskNotifier.notification(p).deliver
18 assert_equal "[#{env.name}] Pending tasks", response.subject 18 assert_equal "[#{env.name}] Pending tasks", response.subject
19 assert_equal p.email, response.to[0] 19 assert_equal p.email, response.to[0]
20 end 20 end
@@ -25,8 +25,8 @@ class PendingTaskNotifierTest &lt; ActiveSupport::TestCase @@ -25,8 +25,8 @@ class PendingTaskNotifierTest &lt; ActiveSupport::TestCase
25 c.add_admin(p) 25 c.add_admin(p)
26 c.tasks << Task.new(:requestor => p) 26 c.tasks << Task.new(:requestor => p)
27 27
28 - response = PendingTaskNotifier.deliver_notification(p)  
29 - assert_match /sent you a task/, response.body 28 + response = PendingTaskNotifier.notification(p).deliver
  29 + assert_match /sent you a task/, response.body.to_s
30 end 30 end
31 31
32 private 32 private