BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
780d868f
Commit
780d868f
authored
Jun 18, 2014
by
Jacob Vosmaer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "Merge branch 'fix-email-threading' into 'master'"
This reverts commit
97fd990e
, reversing changes made to
f451a697
. Conflicts: app/mailers/emails/notes.rb app/mailers/emails/projects.rb
parent
c1ff1fde
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
80 additions
and
142 deletions
+80
-142
groups.rb
app/mailers/emails/groups.rb
+1
-1
issues.rb
app/mailers/emails/issues.rb
+16
-16
merge_requests.rb
app/mailers/emails/merge_requests.rb
+16
-16
notes.rb
app/mailers/emails/notes.rb
+11
-12
projects.rb
app/mailers/emails/projects.rb
+3
-3
notify.rb
app/mailers/notify.rb
+8
-58
notify_spec.rb
spec/mailers/notify_spec.rb
+21
-32
close_service_spec.rb
spec/services/issues/close_service_spec.rb
+1
-1
update_service_spec.rb
spec/services/issues/update_service_spec.rb
+1
-1
close_service_spec.rb
spec/services/merge_requests/close_service_spec.rb
+1
-1
update_service_spec.rb
spec/services/merge_requests/update_service_spec.rb
+1
-1
No files found.
app/mailers/emails/groups.rb
View file @
780d868f
...
@@ -4,7 +4,7 @@ module Emails
...
@@ -4,7 +4,7 @@ module Emails
@membership
=
UsersGroup
.
find
(
user_group_id
)
@membership
=
UsersGroup
.
find
(
user_group_id
)
@group
=
@membership
.
group
@group
=
@membership
.
group
@target_url
=
group_url
(
@group
)
@target_url
=
group_url
(
@group
)
mail
(
cc
:
@membership
.
user
.
email
,
mail
(
to
:
@membership
.
user
.
email
,
subject:
subject
(
"Access to group was granted"
))
subject:
subject
(
"Access to group was granted"
))
end
end
end
end
...
...
app/mailers/emails/issues.rb
View file @
780d868f
...
@@ -4,10 +4,10 @@ module Emails
...
@@ -4,10 +4,10 @@ module Emails
@issue
=
Issue
.
find
(
issue_id
)
@issue
=
Issue
.
find
(
issue_id
)
@project
=
@issue
.
project
@project
=
@issue
.
project
@target_url
=
project_issue_url
(
@project
,
@issue
)
@target_url
=
project_issue_url
(
@project
,
@issue
)
mail_new_thread
(
@issue
,
set_message_id
(
"issue_
#{
issue_id
}
"
)
from:
sender
(
@issue
.
author_id
),
mail
(
from:
sender
(
@issue
.
author_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
end
end
def
reassigned_issue_email
(
recipient_id
,
issue_id
,
previous_assignee_id
,
updated_by_user_id
)
def
reassigned_issue_email
(
recipient_id
,
issue_id
,
previous_assignee_id
,
updated_by_user_id
)
...
@@ -15,10 +15,10 @@ module Emails
...
@@ -15,10 +15,10 @@ module Emails
@previous_assignee
=
User
.
find_by
(
id:
previous_assignee_id
)
if
previous_assignee_id
@previous_assignee
=
User
.
find_by
(
id:
previous_assignee_id
)
if
previous_assignee_id
@project
=
@issue
.
project
@project
=
@issue
.
project
@target_url
=
project_issue_url
(
@project
,
@issue
)
@target_url
=
project_issue_url
(
@project
,
@issue
)
mail_answer_thread
(
@issue
,
set_reference
(
"issue_
#{
issue_id
}
"
)
from:
sender
(
updated_by_user_id
),
mail
(
from:
sender
(
updated_by_user_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
end
end
def
closed_issue_email
(
recipient_id
,
issue_id
,
updated_by_user_id
)
def
closed_issue_email
(
recipient_id
,
issue_id
,
updated_by_user_id
)
...
@@ -26,10 +26,10 @@ module Emails
...
@@ -26,10 +26,10 @@ module Emails
@project
=
@issue
.
project
@project
=
@issue
.
project
@updated_by
=
User
.
find
updated_by_user_id
@updated_by
=
User
.
find
updated_by_user_id
@target_url
=
project_issue_url
(
@project
,
@issue
)
@target_url
=
project_issue_url
(
@project
,
@issue
)
mail_answer_thread
(
@issue
,
set_reference
(
"issue_
#{
issue_id
}
"
)
from:
sender
(
updated_by_user_id
),
mail
(
from:
sender
(
updated_by_user_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
end
end
def
issue_status_changed_email
(
recipient_id
,
issue_id
,
status
,
updated_by_user_id
)
def
issue_status_changed_email
(
recipient_id
,
issue_id
,
status
,
updated_by_user_id
)
...
@@ -38,10 +38,10 @@ module Emails
...
@@ -38,10 +38,10 @@ module Emails
@project
=
@issue
.
project
@project
=
@issue
.
project
@updated_by
=
User
.
find
updated_by_user_id
@updated_by
=
User
.
find
updated_by_user_id
@target_url
=
project_issue_url
(
@project
,
@issue
)
@target_url
=
project_issue_url
(
@project
,
@issue
)
mail_answer_thread
(
@issue
,
set_reference
(
"issue_
#{
issue_id
}
"
)
from:
sender
(
updated_by_user_id
),
mail
(
from:
sender
(
updated_by_user_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
end
end
end
end
end
end
app/mailers/emails/merge_requests.rb
View file @
780d868f
...
@@ -4,10 +4,10 @@ module Emails
...
@@ -4,10 +4,10 @@ module Emails
@merge_request
=
MergeRequest
.
find
(
merge_request_id
)
@merge_request
=
MergeRequest
.
find
(
merge_request_id
)
@project
=
@merge_request
.
project
@project
=
@merge_request
.
project
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
)
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
)
mail_new_thread
(
@merge_request
,
set_message_id
(
"merge_request_
#{
merge_request_id
}
"
)
from:
sender
(
@merge_request
.
author_id
),
mail
(
from:
sender
(
@merge_request
.
author_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
end
end
def
reassigned_merge_request_email
(
recipient_id
,
merge_request_id
,
previous_assignee_id
,
updated_by_user_id
)
def
reassigned_merge_request_email
(
recipient_id
,
merge_request_id
,
previous_assignee_id
,
updated_by_user_id
)
...
@@ -15,10 +15,10 @@ module Emails
...
@@ -15,10 +15,10 @@ module Emails
@previous_assignee
=
User
.
find_by
(
id:
previous_assignee_id
)
if
previous_assignee_id
@previous_assignee
=
User
.
find_by
(
id:
previous_assignee_id
)
if
previous_assignee_id
@project
=
@merge_request
.
project
@project
=
@merge_request
.
project
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
)
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
)
mail_answer_thread
(
@merge_request
,
set_reference
(
"merge_request_
#{
merge_request_id
}
"
)
from:
sender
(
updated_by_user_id
),
mail
(
from:
sender
(
updated_by_user_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
end
end
def
closed_merge_request_email
(
recipient_id
,
merge_request_id
,
updated_by_user_id
)
def
closed_merge_request_email
(
recipient_id
,
merge_request_id
,
updated_by_user_id
)
...
@@ -26,20 +26,20 @@ module Emails
...
@@ -26,20 +26,20 @@ module Emails
@updated_by
=
User
.
find
updated_by_user_id
@updated_by
=
User
.
find
updated_by_user_id
@project
=
@merge_request
.
project
@project
=
@merge_request
.
project
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
)
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
)
mail_answer_thread
(
@merge_request
,
set_reference
(
"merge_request_
#{
merge_request_id
}
"
)
from:
sender
(
updated_by_user_id
),
mail
(
from:
sender
(
updated_by_user_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
end
end
def
merged_merge_request_email
(
recipient_id
,
merge_request_id
,
updated_by_user_id
)
def
merged_merge_request_email
(
recipient_id
,
merge_request_id
,
updated_by_user_id
)
@merge_request
=
MergeRequest
.
find
(
merge_request_id
)
@merge_request
=
MergeRequest
.
find
(
merge_request_id
)
@project
=
@merge_request
.
project
@project
=
@merge_request
.
project
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
)
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
)
mail_answer_thread
(
@merge_request
,
set_reference
(
"merge_request_
#{
merge_request_id
}
"
)
from:
sender
(
updated_by_user_id
),
mail
(
from:
sender
(
updated_by_user_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
end
end
end
end
...
...
app/mailers/emails/notes.rb
View file @
780d868f
...
@@ -5,10 +5,9 @@ module Emails
...
@@ -5,10 +5,9 @@ module Emails
@commit
=
@note
.
noteable
@commit
=
@note
.
noteable
@project
=
@note
.
project
@project
=
@note
.
project
@target_url
=
project_commit_url
(
@project
,
@commit
,
anchor:
"note_
#{
@note
.
id
}
"
)
@target_url
=
project_commit_url
(
@project
,
@commit
,
anchor:
"note_
#{
@note
.
id
}
"
)
mail_answer_thread
(
@commit
,
mail
(
from:
sender
(
@note
.
author_id
),
from:
sender
(
@note
.
author_id
),
to:
recipient
(
recipient_id
),
cc:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@commit
.
title
}
(
#{
@commit
.
short_id
}
)"
))
subject:
subject
(
"
#{
@commit
.
title
}
(
#{
@commit
.
short_id
}
)"
))
end
end
def
note_issue_email
(
recipient_id
,
note_id
)
def
note_issue_email
(
recipient_id
,
note_id
)
...
@@ -16,10 +15,10 @@ module Emails
...
@@ -16,10 +15,10 @@ module Emails
@issue
=
@note
.
noteable
@issue
=
@note
.
noteable
@project
=
@note
.
project
@project
=
@note
.
project
@target_url
=
project_issue_url
(
@project
,
@issue
,
anchor:
"note_
#{
@note
.
id
}
"
)
@target_url
=
project_issue_url
(
@project
,
@issue
,
anchor:
"note_
#{
@note
.
id
}
"
)
mail_answer_thread
(
@issue
,
set_reference
(
"issue_
#{
@issue
.
id
}
"
)
from:
sender
(
@note
.
author_id
),
mail
(
from:
sender
(
@note
.
author_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
subject:
subject
(
"
#{
@issue
.
title
}
(#
#{
@issue
.
iid
}
)"
))
end
end
def
note_merge_request_email
(
recipient_id
,
note_id
)
def
note_merge_request_email
(
recipient_id
,
note_id
)
...
@@ -27,10 +26,10 @@ module Emails
...
@@ -27,10 +26,10 @@ module Emails
@merge_request
=
@note
.
noteable
@merge_request
=
@note
.
noteable
@project
=
@note
.
project
@project
=
@note
.
project
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
,
anchor:
"note_
#{
@note
.
id
}
"
)
@target_url
=
project_merge_request_url
(
@project
,
@merge_request
,
anchor:
"note_
#{
@note
.
id
}
"
)
mail_answer_thread
(
@merge_request
,
set_reference
(
"merge_request_
#{
@merge_request
.
id
}
"
)
from:
sender
(
@note
.
author_id
),
mail
(
from:
sender
(
@note
.
author_id
),
cc
:
recipient
(
recipient_id
),
to
:
recipient
(
recipient_id
),
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
subject:
subject
(
"
#{
@merge_request
.
title
}
(#
#{
@merge_request
.
iid
}
)"
))
end
end
end
end
end
end
app/mailers/emails/projects.rb
View file @
780d868f
...
@@ -4,7 +4,7 @@ module Emails
...
@@ -4,7 +4,7 @@ module Emails
@users_project
=
UsersProject
.
find
user_project_id
@users_project
=
UsersProject
.
find
user_project_id
@project
=
@users_project
.
project
@project
=
@users_project
.
project
@target_url
=
project_url
(
@project
)
@target_url
=
project_url
(
@project
)
mail
(
cc
:
@users_project
.
user
.
email
,
mail
(
to
:
@users_project
.
user
.
email
,
subject:
subject
(
"Access to project was granted"
))
subject:
subject
(
"Access to project was granted"
))
end
end
...
@@ -12,7 +12,7 @@ module Emails
...
@@ -12,7 +12,7 @@ module Emails
@user
=
User
.
find
user_id
@user
=
User
.
find
user_id
@project
=
Project
.
find
project_id
@project
=
Project
.
find
project_id
@target_url
=
project_url
(
@project
)
@target_url
=
project_url
(
@project
)
mail
(
cc
:
@user
.
email
,
mail
(
to
:
@user
.
email
,
subject:
subject
(
"Project was moved"
))
subject:
subject
(
"Project was moved"
))
end
end
...
@@ -32,7 +32,7 @@ module Emails
...
@@ -32,7 +32,7 @@ module Emails
end
end
mail
(
from:
sender
(
author_id
),
mail
(
from:
sender
(
author_id
),
cc
:
recipient
,
to
:
recipient
,
subject:
subject
(
@subject
))
subject:
subject
(
@subject
))
end
end
end
end
...
...
app/mailers/notify.rb
View file @
780d868f
class
Notify
<
ActionMailer
::
Base
class
Notify
<
ActionMailer
::
Base
include
ActionDispatch
::
Routing
::
PolymorphicRoutes
include
Emails
::
Issues
include
Emails
::
Issues
include
Emails
::
MergeRequests
include
Emails
::
MergeRequests
include
Emails
::
Notes
include
Emails
::
Notes
...
@@ -18,7 +16,6 @@ class Notify < ActionMailer::Base
...
@@ -18,7 +16,6 @@ class Notify < ActionMailer::Base
default_url_options
[
:script_name
]
=
Gitlab
.
config
.
gitlab
.
relative_url_root
default_url_options
[
:script_name
]
=
Gitlab
.
config
.
gitlab
.
relative_url_root
default
from:
Proc
.
new
{
default_sender_address
.
format
}
default
from:
Proc
.
new
{
default_sender_address
.
format
}
default
to:
Proc
.
new
{
project_sender_address
.
format
}
default
reply_to:
"noreply@
#{
Gitlab
.
config
.
gitlab
.
host
}
"
default
reply_to:
"noreply@
#{
Gitlab
.
config
.
gitlab
.
host
}
"
# Just send email with 2 seconds delay
# Just send email with 2 seconds delay
...
@@ -35,17 +32,6 @@ class Notify < ActionMailer::Base
...
@@ -35,17 +32,6 @@ class Notify < ActionMailer::Base
address
address
end
end
# The default email address to send emails to. Includes the project name if possible.
def
project_sender_address
if
@project
address
=
default_sender_address
address
.
display_name
=
@project
.
name_with_namespace
address
else
default_sender_address
end
end
# Return an email address that displays the name of the sender.
# Return an email address that displays the name of the sender.
# Only the displayed name changes; the actual email address is always the same.
# Only the displayed name changes; the actual email address is always the same.
def
sender
(
sender_id
)
def
sender
(
sender_id
)
...
@@ -67,6 +53,14 @@ class Notify < ActionMailer::Base
...
@@ -67,6 +53,14 @@ class Notify < ActionMailer::Base
end
end
end
end
# Set the Message-ID header field
#
# local_part - The local part of the message ID
#
def
set_message_id
(
local_part
)
headers
[
"Message-ID"
]
=
"<
#{
local_part
}
@
#{
Gitlab
.
config
.
gitlab
.
host
}
>"
end
# Set the References header field
# Set the References header field
#
#
# local_part - The local part of the referenced message ID
# local_part - The local part of the referenced message ID
...
@@ -99,48 +93,4 @@ class Notify < ActionMailer::Base
...
@@ -99,48 +93,4 @@ class Notify < ActionMailer::Base
subject
<<
extra
.
join
(
' | '
)
if
extra
.
present?
subject
<<
extra
.
join
(
' | '
)
if
extra
.
present?
subject
subject
end
end
# Return a string suitable for inclusion in the 'Message-Id' mail header.
#
# The message-id is generated from the unique URL to a model object.
def
message_id
(
model
)
model_name
=
model
.
class
.
model_name
.
singular_route_key
"<
#{
model_name
}
_
#{
model
.
id
}
@
#{
Gitlab
.
config
.
gitlab
.
host
}
>"
end
# Send an email that starts a new conversation thread,
# with headers suitable for grouping by thread in email clients.
#
# See: mail_answer_thread
def
mail_new_thread
(
model
,
headers
=
{},
&
block
)
raise
ArgumentError
,
'"To:" header will be overwritten; use "Cc:" or "Bcc:"'
unless
headers
[
:to
].
nil?
headers
[
:to
]
=
project_sender_address
.
format
headers
[
'Message-ID'
]
=
message_id
(
model
)
mail
(
headers
,
&
block
)
end
# Send an email that responds to an existing conversation thread,
# with headers suitable for grouping by thread in email clients.
#
# For grouping emails by thread, email clients heuristics require the answers to:
#
# * have a subject that begin by 'Re: '
# * have a 'In-Reply-To' or 'References' header that references the original 'Message-ID'
# * have stable 'From' and 'To' headers between messages of the same thread
#
def
mail_answer_thread
(
model
,
headers
=
{},
&
block
)
raise
ArgumentError
,
'"To:" header will be overwritten; use "Cc:" or "Bcc:"'
unless
headers
[
:to
].
nil?
headers
[
:to
]
=
project_sender_address
.
format
headers
[
'In-Reply-To'
]
=
message_id
(
model
)
headers
[
'References'
]
=
message_id
(
model
)
if
(
headers
[
:subject
])
headers
[
:subject
].
prepend
(
'Re: '
)
end
mail
(
headers
,
&
block
)
end
end
end
spec/mailers/notify_spec.rb
View file @
780d868f
...
@@ -10,7 +10,7 @@ describe Notify do
...
@@ -10,7 +10,7 @@ describe Notify do
shared_examples
'a multiple recipients email'
do
shared_examples
'a multiple recipients email'
do
it
'is sent to the given recipient'
do
it
'is sent to the given recipient'
do
should
cc
_to
recipient
.
email
should
deliver
_to
recipient
.
email
end
end
end
end
...
@@ -22,23 +22,6 @@ describe Notify do
...
@@ -22,23 +22,6 @@ describe Notify do
end
end
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
describe
'for new users, the email'
do
let
(
:example_site_path
)
{
root_path
}
let
(
:example_site_path
)
{
root_path
}
let
(
:new_user
)
{
create
(
:user
,
email:
'newguy@example.com'
,
created_by_id:
1
)
}
let
(
:new_user
)
{
create
(
:user
,
email:
'newguy@example.com'
,
created_by_id:
1
)
}
...
@@ -158,7 +141,7 @@ describe Notify do
...
@@ -158,7 +141,7 @@ describe Notify do
end
end
it
'is sent to the assignee'
do
it
'is sent to the assignee'
do
should
cc
_to
assignee
.
email
should
deliver
_to
assignee
.
email
end
end
end
end
...
@@ -170,7 +153,6 @@ describe Notify do
...
@@ -170,7 +153,6 @@ describe Notify do
subject
{
Notify
.
new_issue_email
(
issue
.
assignee_id
,
issue
.
id
)
}
subject
{
Notify
.
new_issue_email
(
issue
.
assignee_id
,
issue
.
id
)
}
it_behaves_like
'an assignee email'
it_behaves_like
'an assignee email'
it_behaves_like
'an email starting a new thread'
,
'issue'
it
'has the correct subject'
do
it
'has the correct subject'
do
should
have_subject
/
#{
project
.
name
}
\|
#{
issue
.
title
}
\(#
#{
issue
.
iid
}
\)/
should
have_subject
/
#{
project
.
name
}
\|
#{
issue
.
title
}
\(#
#{
issue
.
iid
}
\)/
...
@@ -179,6 +161,10 @@ describe Notify do
...
@@ -179,6 +161,10 @@ describe Notify do
it
'contains a link to the new issue'
do
it
'contains a link to the new issue'
do
should
have_body_text
/
#{
project_issue_path
project
,
issue
}
/
should
have_body_text
/
#{
project_issue_path
project
,
issue
}
/
end
end
it
'has the correct message-id set'
do
should
have_header
'Message-ID'
,
"<issue_
#{
issue
.
id
}
@
#{
Gitlab
.
config
.
gitlab
.
host
}
>"
end
end
end
describe
'that are new with a description'
do
describe
'that are new with a description'
do
...
@@ -193,7 +179,6 @@ describe Notify do
...
@@ -193,7 +179,6 @@ describe Notify do
subject
{
Notify
.
reassigned_issue_email
(
recipient
.
id
,
issue
.
id
,
previous_assignee
.
id
,
current_user
)
}
subject
{
Notify
.
reassigned_issue_email
(
recipient
.
id
,
issue
.
id
,
previous_assignee
.
id
,
current_user
)
}
it_behaves_like
'a multiple recipients email'
it_behaves_like
'a multiple recipients email'
it_behaves_like
'an answer to an existing thread'
,
'issue'
it
'is sent as the author'
do
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
...
@@ -216,14 +201,16 @@ describe Notify do
...
@@ -216,14 +201,16 @@ describe Notify do
it
'contains a link to the issue'
do
it
'contains a link to the issue'
do
should
have_body_text
/
#{
project_issue_path
project
,
issue
}
/
should
have_body_text
/
#{
project_issue_path
project
,
issue
}
/
end
end
it
'has the correct reference set'
do
should
have_header
'References'
,
"<issue_
#{
issue
.
id
}
@
#{
Gitlab
.
config
.
gitlab
.
host
}
>"
end
end
end
describe
'status changed'
do
describe
'status changed'
do
let
(
:status
)
{
'closed'
}
let
(
:status
)
{
'closed'
}
subject
{
Notify
.
issue_status_changed_email
(
recipient
.
id
,
issue
.
id
,
status
,
current_user
)
}
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
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
sender
.
display_name
.
should
eq
(
current_user
.
name
)
sender
.
display_name
.
should
eq
(
current_user
.
name
)
...
@@ -245,6 +232,10 @@ describe Notify do
...
@@ -245,6 +232,10 @@ describe Notify do
it
'contains a link to the issue'
do
it
'contains a link to the issue'
do
should
have_body_text
/
#{
project_issue_path
project
,
issue
}
/
should
have_body_text
/
#{
project_issue_path
project
,
issue
}
/
end
end
it
'has the correct reference set'
do
should
have_header
'References'
,
"<issue_
#{
issue
.
id
}
@
#{
Gitlab
.
config
.
gitlab
.
host
}
>"
end
end
end
end
end
...
@@ -258,7 +249,6 @@ describe Notify do
...
@@ -258,7 +249,6 @@ describe Notify do
subject
{
Notify
.
new_merge_request_email
(
merge_request
.
assignee_id
,
merge_request
.
id
)
}
subject
{
Notify
.
new_merge_request_email
(
merge_request
.
assignee_id
,
merge_request
.
id
)
}
it_behaves_like
'an assignee email'
it_behaves_like
'an assignee email'
it_behaves_like
'an email starting a new thread'
,
'merge_request'
it
'has the correct subject'
do
it
'has the correct subject'
do
should
have_subject
/
#{
merge_request
.
title
}
\(#
#{
merge_request
.
iid
}
\)/
should
have_subject
/
#{
merge_request
.
title
}
\(#
#{
merge_request
.
iid
}
\)/
...
@@ -293,7 +283,6 @@ describe Notify do
...
@@ -293,7 +283,6 @@ describe Notify do
subject
{
Notify
.
reassigned_merge_request_email
(
recipient
.
id
,
merge_request
.
id
,
previous_assignee
.
id
,
current_user
.
id
)
}
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
'a multiple recipients email'
it_behaves_like
'an answer to an existing thread'
,
'merge_request'
it
'is sent as the author'
do
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
...
@@ -322,7 +311,6 @@ describe Notify do
...
@@ -322,7 +311,6 @@ describe Notify do
subject
{
Notify
.
merged_merge_request_email
(
recipient
.
id
,
merge_request
.
id
,
merge_author
.
id
)
}
subject
{
Notify
.
merged_merge_request_email
(
recipient
.
id
,
merge_request
.
id
,
merge_author
.
id
)
}
it_behaves_like
'a multiple recipients email'
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
it
'is sent as the merge author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
...
@@ -341,6 +329,10 @@ describe Notify do
...
@@ -341,6 +329,10 @@ describe Notify do
it
'contains a link to the merge request'
do
it
'contains a link to the merge request'
do
should
have_body_text
/
#{
project_merge_request_path
project
,
merge_request
}
/
should
have_body_text
/
#{
project_merge_request_path
project
,
merge_request
}
/
end
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
end
end
end
...
@@ -402,7 +394,7 @@ describe Notify do
...
@@ -402,7 +394,7 @@ describe Notify do
end
end
it
'is sent to the given recipient'
do
it
'is sent to the given recipient'
do
should
cc
_to
recipient
.
email
should
deliver
_to
recipient
.
email
end
end
it
'contains the message from the note'
do
it
'contains the message from the note'
do
...
@@ -418,7 +410,6 @@ describe Notify do
...
@@ -418,7 +410,6 @@ describe Notify do
subject
{
Notify
.
note_commit_email
(
recipient
.
id
,
note
.
id
)
}
subject
{
Notify
.
note_commit_email
(
recipient
.
id
,
note
.
id
)
}
it_behaves_like
'a note email'
it_behaves_like
'a note email'
it_behaves_like
'an answer to an existing thread'
,
'commits'
it
'has the correct subject'
do
it
'has the correct subject'
do
should
have_subject
/
#{
commit
.
title
}
\(
#{
commit
.
short_id
}
\)/
should
have_subject
/
#{
commit
.
title
}
\(
#{
commit
.
short_id
}
\)/
...
@@ -437,7 +428,6 @@ describe Notify do
...
@@ -437,7 +428,6 @@ describe Notify do
subject
{
Notify
.
note_merge_request_email
(
recipient
.
id
,
note
.
id
)
}
subject
{
Notify
.
note_merge_request_email
(
recipient
.
id
,
note
.
id
)
}
it_behaves_like
'a note email'
it_behaves_like
'a note email'
it_behaves_like
'an answer to an existing thread'
,
'merge_request'
it
'has the correct subject'
do
it
'has the correct subject'
do
should
have_subject
/
#{
merge_request
.
title
}
\(#
#{
merge_request
.
iid
}
\)/
should
have_subject
/
#{
merge_request
.
title
}
\(#
#{
merge_request
.
iid
}
\)/
...
@@ -456,7 +446,6 @@ describe Notify do
...
@@ -456,7 +446,6 @@ describe Notify do
subject
{
Notify
.
note_issue_email
(
recipient
.
id
,
note
.
id
)
}
subject
{
Notify
.
note_issue_email
(
recipient
.
id
,
note
.
id
)
}
it_behaves_like
'a note email'
it_behaves_like
'a note email'
it_behaves_like
'an answer to an existing thread'
,
'issue'
it
'has the correct subject'
do
it
'has the correct subject'
do
should
have_subject
/
#{
issue
.
title
}
\(#
#{
issue
.
iid
}
\)/
should
have_subject
/
#{
issue
.
title
}
\(#
#{
issue
.
iid
}
\)/
...
@@ -533,7 +522,7 @@ describe Notify do
...
@@ -533,7 +522,7 @@ describe Notify do
end
end
it
'is sent to recipient'
do
it
'is sent to recipient'
do
should
cc
_to
'devs@company.name'
should
deliver
_to
'devs@company.name'
end
end
it
'has the correct subject'
do
it
'has the correct subject'
do
...
@@ -569,7 +558,7 @@ describe Notify do
...
@@ -569,7 +558,7 @@ describe Notify do
end
end
it
'is sent to recipient'
do
it
'is sent to recipient'
do
should
cc
_to
'devs@company.name'
should
deliver
_to
'devs@company.name'
end
end
it
'has the correct subject'
do
it
'has the correct subject'
do
...
...
spec/services/issues/close_service_spec.rb
View file @
780d868f
...
@@ -22,7 +22,7 @@ describe Issues::CloseService do
...
@@ -22,7 +22,7 @@ describe Issues::CloseService do
it
'should send email to user2 about assign of new issue'
do
it
'should send email to user2 about assign of new issue'
do
email
=
ActionMailer
::
Base
.
deliveries
.
last
email
=
ActionMailer
::
Base
.
deliveries
.
last
email
.
cc
.
first
.
should
==
user2
.
email
email
.
to
.
first
.
should
==
user2
.
email
email
.
subject
.
should
include
(
issue
.
title
)
email
.
subject
.
should
include
(
issue
.
title
)
end
end
...
...
spec/services/issues/update_service_spec.rb
View file @
780d868f
...
@@ -31,7 +31,7 @@ describe Issues::UpdateService do
...
@@ -31,7 +31,7 @@ describe Issues::UpdateService do
it
'should send email to user2 about assign of new issue'
do
it
'should send email to user2 about assign of new issue'
do
email
=
ActionMailer
::
Base
.
deliveries
.
last
email
=
ActionMailer
::
Base
.
deliveries
.
last
email
.
cc
.
first
.
should
==
user2
.
email
email
.
to
.
first
.
should
==
user2
.
email
email
.
subject
.
should
include
(
issue
.
title
)
email
.
subject
.
should
include
(
issue
.
title
)
end
end
...
...
spec/services/merge_requests/close_service_spec.rb
View file @
780d868f
...
@@ -22,7 +22,7 @@ describe MergeRequests::CloseService do
...
@@ -22,7 +22,7 @@ describe MergeRequests::CloseService do
it
'should send email to user2 about assign of new merge_request'
do
it
'should send email to user2 about assign of new merge_request'
do
email
=
ActionMailer
::
Base
.
deliveries
.
last
email
=
ActionMailer
::
Base
.
deliveries
.
last
email
.
cc
.
first
.
should
==
user2
.
email
email
.
to
.
first
.
should
==
user2
.
email
email
.
subject
.
should
include
(
merge_request
.
title
)
email
.
subject
.
should
include
(
merge_request
.
title
)
end
end
...
...
spec/services/merge_requests/update_service_spec.rb
View file @
780d868f
...
@@ -31,7 +31,7 @@ describe MergeRequests::UpdateService do
...
@@ -31,7 +31,7 @@ describe MergeRequests::UpdateService do
it
'should send email to user2 about assign of new merge_request'
do
it
'should send email to user2 about assign of new merge_request'
do
email
=
ActionMailer
::
Base
.
deliveries
.
last
email
=
ActionMailer
::
Base
.
deliveries
.
last
email
.
cc
.
first
.
should
==
user2
.
email
email
.
to
.
first
.
should
==
user2
.
email
email
.
subject
.
should
include
(
merge_request
.
title
)
email
.
subject
.
should
include
(
merge_request
.
title
)
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment