BigW Consortium Gitlab

Commit 97ca4f5d by Robb Kidd

Deliver issue mails.

It helps to actually deliver messages.
parent dfb5da9d
......@@ -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)
......@@ -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
......@@ -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
......@@ -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
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment