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
f41634c7
Commit
f41634c7
authored
Nov 30, 2015
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'gmail_actions_links_on_set_of_emails' into 'master'
Show Gmail actions links only on expected set of emails See merge request !1901
parents
c48518ac
5c0be319
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
1 deletion
+66
-1
emails_helper.rb
app/helpers/emails_helper.rb
+2
-0
notify_spec.rb
spec/mailers/notify_spec.rb
+64
-1
No files found.
app/helpers/emails_helper.rb
View file @
f41634c7
...
...
@@ -28,6 +28,8 @@ module EmailsHelper
return
"View
#{
action
.
humanize
.
singularize
}
"
end
end
nil
end
def
color_email_diff
(
diffcontent
)
...
...
spec/mailers/notify_spec.rb
View file @
f41634c7
...
...
@@ -77,6 +77,32 @@ describe Notify do
end
end
shared_examples
'it should have Gmail Actions links'
do
it
{
is_expected
.
to
have_body_text
/ViewAction/
}
end
shared_examples
'it should not have Gmail Actions links'
do
it
{
is_expected
.
to_not
have_body_text
/ViewAction/
}
end
shared_examples
'it should show Gmail Actions View Issue link'
do
it_behaves_like
'it should have Gmail Actions links'
it
{
is_expected
.
to
have_body_text
/View Issue/
}
end
shared_examples
'it should show Gmail Actions View Merge request link'
do
it_behaves_like
'it should have Gmail Actions links'
it
{
is_expected
.
to
have_body_text
/View Merge request/
}
end
shared_examples
'it should show Gmail Actions View Commit link'
do
it_behaves_like
'it should have Gmail Actions links'
it
{
is_expected
.
to
have_body_text
/View Commit/
}
end
describe
'for new users, the email'
do
let
(
:example_site_path
)
{
root_path
}
let
(
:new_user
)
{
create
(
:user
,
email:
new_user_address
,
created_by_id:
1
)
}
...
...
@@ -87,6 +113,7 @@ describe Notify do
it_behaves_like
'an email sent from GitLab'
it_behaves_like
'a new user email'
,
new_user_address
it_behaves_like
'it should not have Gmail Actions links'
it
'contains the password text'
do
is_expected
.
to
have_body_text
/Click here to set your password/
...
...
@@ -115,6 +142,7 @@ describe Notify do
it_behaves_like
'an email sent from GitLab'
it_behaves_like
'a new user email'
,
new_user_address
it_behaves_like
'it should not have Gmail Actions links'
it
'should not contain the new user\'s password'
do
is_expected
.
not_to
have_body_text
/password/
...
...
@@ -127,6 +155,7 @@ describe Notify do
subject
{
Notify
.
new_ssh_key_email
(
key
.
id
)
}
it_behaves_like
'an email sent from GitLab'
it_behaves_like
'it should not have Gmail Actions links'
it
'is sent to the new user'
do
is_expected
.
to
deliver_to
key
.
user
.
email
...
...
@@ -150,6 +179,8 @@ describe Notify do
subject
{
Notify
.
new_email_email
(
email
.
id
)
}
it_behaves_like
'it should not have Gmail Actions links'
it
'is sent to the new user'
do
is_expected
.
to
deliver_to
email
.
user
.
email
end
...
...
@@ -194,6 +225,7 @@ describe Notify do
it_behaves_like
'an assignee email'
it_behaves_like
'an email starting a new thread'
,
'issue'
it_behaves_like
'it should show Gmail Actions View Issue link'
it
'has the correct subject'
do
is_expected
.
to
have_subject
/
#{
project
.
name
}
\|
#{
issue
.
title
}
\(#
#{
issue
.
iid
}
\)/
...
...
@@ -207,6 +239,8 @@ describe Notify do
describe
'that are new with a description'
do
subject
{
Notify
.
new_issue_email
(
issue_with_description
.
assignee_id
,
issue_with_description
.
id
)
}
it_behaves_like
'it should show Gmail Actions View Issue link'
it
'contains the description'
do
is_expected
.
to
have_body_text
/
#{
issue_with_description
.
description
}
/
end
...
...
@@ -217,6 +251,7 @@ describe Notify do
it_behaves_like
'a multiple recipients email'
it_behaves_like
'an answer to an existing thread'
,
'issue'
it_behaves_like
'it should show Gmail Actions View Issue link'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
...
...
@@ -246,6 +281,7 @@ describe Notify do
subject
{
Notify
.
issue_status_changed_email
(
recipient
.
id
,
issue
.
id
,
status
,
current_user
)
}
it_behaves_like
'an answer to an existing thread'
,
'issue'
it_behaves_like
'it should show Gmail Actions View Issue link'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
...
...
@@ -269,7 +305,6 @@ describe Notify do
is_expected
.
to
have_body_text
/
#{
namespace_project_issue_path
project
.
namespace
,
project
,
issue
}
/
end
end
end
context
'for merge requests'
do
...
...
@@ -282,6 +317,7 @@ describe Notify do
it_behaves_like
'an assignee email'
it_behaves_like
'an email starting a new thread'
,
'merge_request'
it_behaves_like
'it should show Gmail Actions View Merge request link'
it
'has the correct subject'
do
is_expected
.
to
have_subject
/
#{
merge_request
.
title
}
\(#
#{
merge_request
.
iid
}
\)/
...
...
@@ -307,6 +343,8 @@ describe Notify do
describe
'that are new with a description'
do
subject
{
Notify
.
new_merge_request_email
(
merge_request_with_description
.
assignee_id
,
merge_request_with_description
.
id
)
}
it_behaves_like
'it should show Gmail Actions View Merge request link'
it
'contains the description'
do
is_expected
.
to
have_body_text
/
#{
merge_request_with_description
.
description
}
/
end
...
...
@@ -317,6 +355,7 @@ describe Notify do
it_behaves_like
'a multiple recipients email'
it_behaves_like
'an answer to an existing thread'
,
'merge_request'
it_behaves_like
'it should show Gmail Actions View Merge request link'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
...
...
@@ -346,6 +385,7 @@ describe Notify do
subject
{
Notify
.
merge_request_status_email
(
recipient
.
id
,
merge_request
.
id
,
status
,
current_user
)
}
it_behaves_like
'an answer to an existing thread'
,
'merge_request'
it_behaves_like
'it should show Gmail Actions View Merge request link'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
...
...
@@ -375,6 +415,7 @@ describe Notify do
it_behaves_like
'a multiple recipients email'
it_behaves_like
'an answer to an existing thread'
,
'merge_request'
it_behaves_like
'it should show Gmail Actions View Merge request link'
it
'is sent as the merge author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
...
...
@@ -403,6 +444,7 @@ describe Notify do
subject
{
Notify
.
project_was_moved_email
(
project
.
id
,
user
.
id
,
"gitlab/gitlab"
)
}
it_behaves_like
'an email sent from GitLab'
it_behaves_like
'it should not have Gmail Actions links'
it
'has the correct subject'
do
is_expected
.
to
have_subject
/Project was moved/
...
...
@@ -424,13 +466,16 @@ describe Notify do
subject
{
Notify
.
project_access_granted_email
(
project_member
.
id
)
}
it_behaves_like
'an email sent from GitLab'
it_behaves_like
'it should not have Gmail Actions links'
it
'has the correct subject'
do
is_expected
.
to
have_subject
/Access to project was granted/
end
it
'contains name of project'
do
is_expected
.
to
have_body_text
/
#{
project
.
name
}
/
end
it
'contains new user role'
do
is_expected
.
to
have_body_text
/
#{
project_member
.
human_access
}
/
end
...
...
@@ -445,6 +490,8 @@ describe Notify do
end
shared_examples
'a note email'
do
it_behaves_like
'it should have Gmail Actions links'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
expect
(
sender
.
display_name
).
to
eq
(
note_author
.
name
)
...
...
@@ -469,6 +516,7 @@ describe Notify do
it_behaves_like
'a note email'
it_behaves_like
'an answer to an existing thread'
,
'commit'
it_behaves_like
'it should show Gmail Actions View Commit link'
it
'has the correct subject'
do
is_expected
.
to
have_subject
/
#{
commit
.
title
}
\(
#{
commit
.
short_id
}
\)/
...
...
@@ -488,6 +536,7 @@ describe Notify do
it_behaves_like
'a note email'
it_behaves_like
'an answer to an existing thread'
,
'merge_request'
it_behaves_like
'it should show Gmail Actions View Merge request link'
it
'has the correct subject'
do
is_expected
.
to
have_subject
/
#{
merge_request
.
title
}
\(#
#{
merge_request
.
iid
}
\)/
...
...
@@ -507,6 +556,7 @@ describe Notify do
it_behaves_like
'a note email'
it_behaves_like
'an answer to an existing thread'
,
'issue'
it_behaves_like
'it should show Gmail Actions View Issue link'
it
'has the correct subject'
do
is_expected
.
to
have_subject
/
#{
issue
.
title
}
\(#
#{
issue
.
iid
}
\)/
...
...
@@ -527,6 +577,7 @@ describe Notify do
subject
{
Notify
.
group_access_granted_email
(
membership
.
id
)
}
it_behaves_like
'an email sent from GitLab'
it_behaves_like
'it should not have Gmail Actions links'
it
'has the correct subject'
do
is_expected
.
to
have_subject
/Access to group was granted/
...
...
@@ -574,6 +625,8 @@ describe Notify do
subject
{
Notify
.
repository_push_email
(
project
.
id
,
'devs@company.name'
,
author_id:
user
.
id
,
ref:
'refs/heads/master'
,
action: :create
)
}
it_behaves_like
'it should not have Gmail Actions links'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
expect
(
sender
.
display_name
).
to
eq
(
user
.
name
)
...
...
@@ -600,6 +653,8 @@ describe Notify do
subject
{
Notify
.
repository_push_email
(
project
.
id
,
'devs@company.name'
,
author_id:
user
.
id
,
ref:
'refs/tags/v1.0'
,
action: :create
)
}
it_behaves_like
'it should not have Gmail Actions links'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
expect
(
sender
.
display_name
).
to
eq
(
user
.
name
)
...
...
@@ -625,6 +680,8 @@ describe Notify do
subject
{
Notify
.
repository_push_email
(
project
.
id
,
'devs@company.name'
,
author_id:
user
.
id
,
ref:
'refs/heads/master'
,
action: :delete
)
}
it_behaves_like
'it should not have Gmail Actions links'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
expect
(
sender
.
display_name
).
to
eq
(
user
.
name
)
...
...
@@ -646,6 +703,8 @@ describe Notify do
subject
{
Notify
.
repository_push_email
(
project
.
id
,
'devs@company.name'
,
author_id:
user
.
id
,
ref:
'refs/tags/v1.0'
,
action: :delete
)
}
it_behaves_like
'it should not have Gmail Actions links'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
expect
(
sender
.
display_name
).
to
eq
(
user
.
name
)
...
...
@@ -671,6 +730,8 @@ describe Notify do
subject
{
Notify
.
repository_push_email
(
project
.
id
,
'devs@company.name'
,
author_id:
user
.
id
,
ref:
'refs/heads/master'
,
action: :push
,
compare:
compare
,
reverse_compare:
false
,
send_from_committer_email:
send_from_committer_email
)
}
it_behaves_like
'it should not have Gmail Actions links'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
expect
(
sender
.
display_name
).
to
eq
(
user
.
name
)
...
...
@@ -774,6 +835,8 @@ describe Notify do
subject
{
Notify
.
repository_push_email
(
project
.
id
,
'devs@company.name'
,
author_id:
user
.
id
,
ref:
'refs/heads/master'
,
action: :push
,
compare:
compare
)
}
it_behaves_like
'it should show Gmail Actions View Commit link'
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
expect
(
sender
.
display_name
).
to
eq
(
user
.
name
)
...
...
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