Skip to content
Snippets Groups Projects
Commit 97ca4f5d authored by Robb Kidd's avatar Robb Kidd
Browse files

Deliver issue mails.

It helps to actually deliver messages.
parent dfb5da9d
No related branches found
No related tags found
1 merge request!953Separate user and issue observation from mail observer
Loading
Loading
@@ -2,7 +2,7 @@ class IssueObserver < ActiveRecord::Observer
cattr_accessor :current_user
 
def after_create(issue)
Notify.new_issue_email(issue.id) if issue.assignee != current_user
Notify.new_issue_email(issue.id).deliver if issue.assignee != current_user
end
 
def after_update(issue)
Loading
Loading
@@ -15,7 +15,7 @@ class IssueObserver < ActiveRecord::Observer
recipient_ids = [issue.assignee_id, issue.assignee_id_was].keep_if {|id| id != current_user.id }
 
recipient_ids.each do |recipient_id|
Notify.reassigned_issue_email(recipient_id, issue.id, issue.assignee_id_was)
Notify.reassigned_issue_email(recipient_id, issue.id, issue.assignee_id_was).deliver
end
end
end
Loading
Loading
@@ -20,7 +20,8 @@ describe IssueObserver do
end
 
it 'sends an email to the assignee' do
Notify.should_receive(:new_issue_email).with(issue.id)
Notify.should_receive(:new_issue_email).with(issue.id).
and_return(double(:deliver => true))
 
subject.after_create(issue)
end
Loading
Loading
@@ -107,9 +108,18 @@ describe IssueObserver do
issue.stub(:assignee_id_was).and_return(previous_assignee.id)
end
 
def it_sends_a_reassigned_email_to(recipient)
Notify.should_receive(:reassigned_issue_email).with(recipient, issue.id, previous_assignee.id).
and_return(double(:deliver => true))
end
def it_does_not_send_a_reassigned_email_to(recipient)
Notify.should_not_receive(:reassigned_issue_email).with(recipient, issue.id, previous_assignee.id)
end
it 'sends a reassigned email to the previous and current assignees' do
Notify.should_receive(:reassigned_issue_email).with(assignee.id, issue.id, previous_assignee.id)
Notify.should_receive(:reassigned_issue_email).with(previous_assignee.id, issue.id, previous_assignee.id)
it_sends_a_reassigned_email_to assignee.id
it_sends_a_reassigned_email_to previous_assignee.id
 
subject.send_reassigned_email(issue)
end
Loading
Loading
@@ -117,13 +127,15 @@ describe IssueObserver do
context 'does not send an email to the user who made the reassignment' do
it 'if the user is the assignee' do
subject.stub(:current_user).and_return(assignee)
Notify.should_not_receive(:reassigned_issue_email).with(assignee.id, issue.id, previous_assignee.id)
it_sends_a_reassigned_email_to previous_assignee.id
it_does_not_send_a_reassigned_email_to assignee.id
 
subject.send_reassigned_email(issue)
end
it 'if the user is the previous assignee' do
subject.stub(:current_user).and_return(previous_assignee)
Notify.should_not_receive(:reassigned_issue_email).with(previous_assignee.id, issue.id, previous_assignee.id)
it_sends_a_reassigned_email_to assignee.id
it_does_not_send_a_reassigned_email_to previous_assignee.id
 
subject.send_reassigned_email(issue)
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment