diff options
Diffstat (limited to 'spec/mailers')
-rw-r--r-- | spec/mailers/notify_spec.rb | 53 |
1 files changed, 21 insertions, 32 deletions
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb index ab26b290d77..224b613b477 100644 --- a/spec/mailers/notify_spec.rb +++ b/spec/mailers/notify_spec.rb @@ -10,7 +10,7 @@ describe Notify do shared_examples 'a multiple recipients email' do it 'is sent to the given recipient' do - should cc_to recipient.email + should deliver_to recipient.email end end @@ -22,23 +22,6 @@ describe Notify do end end - shared_examples 'an email starting a new thread' do |message_id_prefix| - it 'has a discussion identifier' do - should have_header 'Message-ID', /<#{message_id_prefix}(.*)@#{Gitlab.config.gitlab.host}>/ - end - end - - shared_examples 'an answer to an existing thread' do |thread_id_prefix| - it 'has a subject that begins with Re: ' do - should have_subject /^Re: / - end - - it 'has headers that reference an existing thread' do - should have_header 'References', /<#{thread_id_prefix}(.*)@#{Gitlab.config.gitlab.host}>/ - should have_header 'In-Reply-To', /<#{thread_id_prefix}(.*)@#{Gitlab.config.gitlab.host}>/ - end - end - describe 'for new users, the email' do let(:example_site_path) { root_path } let(:new_user) { create(:user, email: 'newguy@example.com', created_by_id: 1) } @@ -158,7 +141,7 @@ describe Notify do end it 'is sent to the assignee' do - should cc_to assignee.email + should deliver_to assignee.email end end @@ -170,7 +153,6 @@ describe Notify do subject { Notify.new_issue_email(issue.assignee_id, issue.id) } it_behaves_like 'an assignee email' - it_behaves_like 'an email starting a new thread', 'issue' it 'has the correct subject' do should have_subject /#{project.name} \| #{issue.title} \(##{issue.iid}\)/ @@ -179,6 +161,10 @@ describe Notify do it 'contains a link to the new issue' do should have_body_text /#{project_issue_path project, issue}/ end + + it 'has the correct message-id set' do + should have_header 'Message-ID', "<issue_#{issue.id}@#{Gitlab.config.gitlab.host}>" + end end describe 'that are new with a description' do @@ -193,7 +179,6 @@ describe Notify do subject { Notify.reassigned_issue_email(recipient.id, issue.id, previous_assignee.id, current_user) } it_behaves_like 'a multiple recipients email' - it_behaves_like 'an answer to an existing thread', 'issue' it 'is sent as the author' do sender = subject.header[:from].addrs[0] @@ -216,14 +201,16 @@ describe Notify do it 'contains a link to the issue' do should have_body_text /#{project_issue_path project, issue}/ end + + it 'has the correct reference set' do + should have_header 'References', "<issue_#{issue.id}@#{Gitlab.config.gitlab.host}>" + end end describe 'status changed' do let(:status) { 'closed' } subject { Notify.issue_status_changed_email(recipient.id, issue.id, status, current_user) } - it_behaves_like 'an answer to an existing thread', 'issue' - it 'is sent as the author' do sender = subject.header[:from].addrs[0] sender.display_name.should eq(current_user.name) @@ -245,6 +232,10 @@ describe Notify do it 'contains a link to the issue' do should have_body_text /#{project_issue_path project, issue}/ end + + it 'has the correct reference set' do + should have_header 'References', "<issue_#{issue.id}@#{Gitlab.config.gitlab.host}>" + end end end @@ -258,7 +249,6 @@ describe Notify do subject { Notify.new_merge_request_email(merge_request.assignee_id, merge_request.id) } it_behaves_like 'an assignee email' - it_behaves_like 'an email starting a new thread', 'merge_request' it 'has the correct subject' do should have_subject /#{merge_request.title} \(##{merge_request.iid}\)/ @@ -293,7 +283,6 @@ describe Notify do subject { Notify.reassigned_merge_request_email(recipient.id, merge_request.id, previous_assignee.id, current_user.id) } it_behaves_like 'a multiple recipients email' - it_behaves_like 'an answer to an existing thread', 'merge_request' it 'is sent as the author' do sender = subject.header[:from].addrs[0] @@ -322,7 +311,6 @@ describe Notify do subject { Notify.merged_merge_request_email(recipient.id, merge_request.id, merge_author.id) } it_behaves_like 'a multiple recipients email' - it_behaves_like 'an answer to an existing thread', 'merge_request' it 'is sent as the merge author' do sender = subject.header[:from].addrs[0] @@ -341,6 +329,10 @@ describe Notify do it 'contains a link to the merge request' do should have_body_text /#{project_merge_request_path project, merge_request}/ end + + it 'has the correct reference set' do + should have_header 'References', "<merge_request_#{merge_request.id}@#{Gitlab.config.gitlab.host}>" + end end end end @@ -402,7 +394,7 @@ describe Notify do end it 'is sent to the given recipient' do - should cc_to recipient.email + should deliver_to recipient.email end it 'contains the message from the note' do @@ -418,7 +410,6 @@ describe Notify do subject { Notify.note_commit_email(recipient.id, note.id) } it_behaves_like 'a note email' - it_behaves_like 'an answer to an existing thread', 'commits' it 'has the correct subject' do should have_subject /#{commit.title} \(#{commit.short_id}\)/ @@ -437,7 +428,6 @@ describe Notify do subject { Notify.note_merge_request_email(recipient.id, note.id) } it_behaves_like 'a note email' - it_behaves_like 'an answer to an existing thread', 'merge_request' it 'has the correct subject' do should have_subject /#{merge_request.title} \(##{merge_request.iid}\)/ @@ -456,7 +446,6 @@ describe Notify do subject { Notify.note_issue_email(recipient.id, note.id) } it_behaves_like 'a note email' - it_behaves_like 'an answer to an existing thread', 'issue' it 'has the correct subject' do should have_subject /#{issue.title} \(##{issue.iid}\)/ @@ -533,7 +522,7 @@ describe Notify do end it 'is sent to recipient' do - should cc_to 'devs@company.name' + should deliver_to 'devs@company.name' end it 'has the correct subject' do @@ -569,7 +558,7 @@ describe Notify do end it 'is sent to recipient' do - should cc_to 'devs@company.name' + should deliver_to 'devs@company.name' end it 'has the correct subject' do |