Commit d8a4e4b49481976390a9a8342eca7888eaddc404

Authored by Alvaro Bautista
1 parent 6baaac4c
Exists in master and in 1 other branch production

Use comment notification recipients in mailer

app/mailers/mailer.rb
... ... @@ -34,8 +34,7 @@ class Mailer < ActionMailer::Base
34 34 @notice = @problem.notices.first
35 35 @app = @problem.app
36 36  
37   - # Don't send comment notification to user who posted the comment
38   - recipients = @app.notification_recipients - [comment.user.email]
  37 + recipients = @comment.notification_recipients
39 38  
40 39 mail :to => recipients,
41 40 :subject => "#{@user.name} commented on [#{@app.name}][#{@notice.environment_name}] #{@notice.message.truncate(50)}"
... ...
spec/mailers/mailer_spec.rb
... ... @@ -46,5 +46,36 @@ describe Mailer do
46 46 end
47 47 end
48 48 end
49   -end
50 49  
  50 + context "Comment Notification" do
  51 + include EmailSpec::Helpers
  52 + include EmailSpec::Matchers
  53 +
  54 + let!(:notice) { Fabricate(:notice) }
  55 + let!(:comment) { Fabricate.build(:comment, :err => notice.problem) }
  56 + let!(:watcher) { Fabricate(:watcher, :app => comment.app) }
  57 + let(:recipients) { ['recipient@example.com', 'another@example.com']}
  58 +
  59 + before do
  60 + comment.stub(:notification_recipients).and_return(recipients)
  61 + Fabricate(:notice, :err => notice.err)
  62 + @email = Mailer.comment_notification(comment).deliver
  63 + end
  64 +
  65 + it "should send the email" do
  66 + ActionMailer::Base.deliveries.size.should == 1
  67 + end
  68 +
  69 + it "should be sent to comment notification recipients" do
  70 + @email.to.should == recipients
  71 + end
  72 +
  73 + it "should have the notices count in the body" do
  74 + @email.should have_body_text("This err has occurred 2 times")
  75 + end
  76 +
  77 + it "should have the comment body" do
  78 + @email.should have_body_text(comment.body)
  79 + end
  80 + end
  81 +end
... ...