Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
6df22f72
Commit
6df22f72
authored
Nov 23, 2016
by
Douwe Maan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rephrase some system notes to be compatible with new system note style
parent
d0c0c75c
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
169 additions
and
124 deletions
+169
-124
app/services/notification_service.rb
app/services/notification_service.rb
+0
-1
app/services/system_note_service.rb
app/services/system_note_service.rb
+43
-43
changelogs/unreleased/rephrase-system-notes.yml
changelogs/unreleased/rephrase-system-notes.yml
+4
-0
doc/api/notes.md
doc/api/notes.md
+1
-1
features/steps/project/merge_requests.rb
features/steps/project/merge_requests.rb
+1
-1
features/steps/shared/issuable.rb
features/steps/shared/issuable.rb
+1
-1
spec/controllers/projects/milestones_controller_spec.rb
spec/controllers/projects/milestones_controller_spec.rb
+1
-1
spec/features/issues/move_spec.rb
spec/features/issues/move_spec.rb
+3
-3
spec/features/issues/new_branch_button_spec.rb
spec/features/issues/new_branch_button_spec.rb
+2
-2
spec/features/merge_requests/merge_when_build_succeeds_spec.rb
...features/merge_requests/merge_when_build_succeeds_spec.rb
+1
-1
spec/features/notes_on_merge_requests_spec.rb
spec/features/notes_on_merge_requests_spec.rb
+1
-1
spec/models/note_spec.rb
spec/models/note_spec.rb
+1
-1
spec/requests/api/notes_spec.rb
spec/requests/api/notes_spec.rb
+1
-1
spec/services/issues/close_service_spec.rb
spec/services/issues/close_service_spec.rb
+1
-1
spec/services/issues/move_service_spec.rb
spec/services/issues/move_service_spec.rb
+3
-3
spec/services/issues/update_service_spec.rb
spec/services/issues/update_service_spec.rb
+14
-14
spec/services/merge_requests/close_service_spec.rb
spec/services/merge_requests/close_service_spec.rb
+1
-1
spec/services/merge_requests/merge_service_spec.rb
spec/services/merge_requests/merge_service_spec.rb
+1
-1
spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb
.../merge_requests/merge_when_build_succeeds_service_spec.rb
+2
-2
spec/services/merge_requests/refresh_service_spec.rb
spec/services/merge_requests/refresh_service_spec.rb
+8
-8
spec/services/merge_requests/reopen_service_spec.rb
spec/services/merge_requests/reopen_service_spec.rb
+1
-1
spec/services/merge_requests/update_service_spec.rb
spec/services/merge_requests/update_service_spec.rb
+12
-12
spec/services/system_note_service_spec.rb
spec/services/system_note_service_spec.rb
+66
-24
No files found.
app/services/notification_service.rb
View file @
6df22f72
...
@@ -171,7 +171,6 @@ class NotificationService
...
@@ -171,7 +171,6 @@ class NotificationService
return
true
unless
note
.
noteable_type
.
present?
return
true
unless
note
.
noteable_type
.
present?
# ignore gitlab service messages
# ignore gitlab service messages
return
true
if
note
.
note
.
start_with?
(
'Status changed to closed'
)
return
true
if
note
.
cross_reference?
&&
note
.
system?
return
true
if
note
.
cross_reference?
&&
note
.
system?
target
=
note
.
noteable
target
=
note
.
noteable
...
...
app/services/system_note_service.rb
View file @
6df22f72
...
@@ -21,7 +21,7 @@ module SystemNoteService
...
@@ -21,7 +21,7 @@ module SystemNoteService
total_count
=
new_commits
.
length
+
existing_commits
.
length
total_count
=
new_commits
.
length
+
existing_commits
.
length
commits_text
=
"
#{
total_count
}
commit"
.
pluralize
(
total_count
)
commits_text
=
"
#{
total_count
}
commit"
.
pluralize
(
total_count
)
body
=
"
Added
#{
commits_text
}
:
\n\n
"
body
=
"
added
#{
commits_text
}
\n\n
"
body
<<
existing_commit_summary
(
noteable
,
existing_commits
,
oldrev
)
body
<<
existing_commit_summary
(
noteable
,
existing_commits
,
oldrev
)
body
<<
new_commit_summary
(
new_commits
).
join
(
"
\n
"
)
body
<<
new_commit_summary
(
new_commits
).
join
(
"
\n
"
)
body
<<
"
\n\n
[Compare with previous version](
#{
diff_comparison_url
(
noteable
,
project
,
oldrev
)
}
)"
body
<<
"
\n\n
[Compare with previous version](
#{
diff_comparison_url
(
noteable
,
project
,
oldrev
)
}
)"
...
@@ -38,13 +38,13 @@ module SystemNoteService
...
@@ -38,13 +38,13 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
Assignee removed
"
# "
removed assignee
"
#
#
# "
Re
assigned to @rspeicher"
# "assigned to @rspeicher"
#
#
# Returns the created Note object
# Returns the created Note object
def
change_assignee
(
noteable
,
project
,
author
,
assignee
)
def
change_assignee
(
noteable
,
project
,
author
,
assignee
)
body
=
assignee
.
nil?
?
'
Assignee removed'
:
"Re
assigned to
#{
assignee
.
to_reference
}
"
body
=
assignee
.
nil?
?
'
removed assignee'
:
"
assigned to
#{
assignee
.
to_reference
}
"
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -59,11 +59,11 @@ module SystemNoteService
...
@@ -59,11 +59,11 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
A
dded ~1 and removed ~2 ~3 labels"
# "
a
dded ~1 and removed ~2 ~3 labels"
#
#
# "
A
dded ~4 label"
# "
a
dded ~4 label"
#
#
# "
R
emoved ~5 label"
# "
r
emoved ~5 label"
#
#
# Returns the created Note object
# Returns the created Note object
def
change_label
(
noteable
,
project
,
author
,
added_labels
,
removed_labels
)
def
change_label
(
noteable
,
project
,
author
,
added_labels
,
removed_labels
)
...
@@ -85,7 +85,6 @@ module SystemNoteService
...
@@ -85,7 +85,6 @@ module SystemNoteService
end
end
body
<<
' '
<<
'label'
.
pluralize
(
labels_count
)
body
<<
' '
<<
'label'
.
pluralize
(
labels_count
)
body
=
body
.
capitalize
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -99,14 +98,13 @@ module SystemNoteService
...
@@ -99,14 +98,13 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
Milestone removed
"
# "
removed milestone
"
#
#
# "
Miletone changed
to 7.11"
# "
changed milestone
to 7.11"
#
#
# Returns the created Note object
# Returns the created Note object
def
change_milestone
(
noteable
,
project
,
author
,
milestone
)
def
change_milestone
(
noteable
,
project
,
author
,
milestone
)
body
=
'Milestone '
body
=
milestone
.
nil?
?
'removed milestone'
:
"changed milestone to
#{
milestone
.
to_reference
(
project
)
}
"
body
+=
milestone
.
nil?
?
'removed'
:
"changed to
#{
milestone
.
to_reference
(
project
)
}
"
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -121,46 +119,46 @@ module SystemNoteService
...
@@ -121,46 +119,46 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
Status changed to
merged"
# "merged"
#
#
# "
Status changed to closed by
bc17db76"
# "
closed via
bc17db76"
#
#
# Returns the created Note object
# Returns the created Note object
def
change_status
(
noteable
,
project
,
author
,
status
,
source
)
def
change_status
(
noteable
,
project
,
author
,
status
,
source
)
body
=
"Status changed to
#{
status
}
"
body
=
status
.
dup
body
<<
"
by
#{
source
.
gfm_reference
(
project
)
}
"
if
source
body
<<
"
via
#{
source
.
gfm_reference
(
project
)
}
"
if
source
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
# Called when 'merge when build succeeds' is executed
# Called when 'merge when build succeeds' is executed
def
merge_when_build_succeeds
(
noteable
,
project
,
author
,
last_commit
)
def
merge_when_build_succeeds
(
noteable
,
project
,
author
,
last_commit
)
body
=
"
E
nabled an automatic merge when the build for
#{
last_commit
.
to_reference
(
project
)
}
succeeds"
body
=
"
e
nabled an automatic merge when the build for
#{
last_commit
.
to_reference
(
project
)
}
succeeds"
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
# Called when 'merge when build succeeds' is canceled
# Called when 'merge when build succeeds' is canceled
def
cancel_merge_when_build_succeeds
(
noteable
,
project
,
author
)
def
cancel_merge_when_build_succeeds
(
noteable
,
project
,
author
)
body
=
'
C
anceled the automatic merge'
body
=
'
c
anceled the automatic merge'
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
def
remove_merge_request_wip
(
noteable
,
project
,
author
)
def
remove_merge_request_wip
(
noteable
,
project
,
author
)
body
=
'
Unmarked this merge request
as a Work In Progress'
body
=
'
unmarked
as a Work In Progress'
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
def
add_merge_request_wip
(
noteable
,
project
,
author
)
def
add_merge_request_wip
(
noteable
,
project
,
author
)
body
=
'
Marked this merge request
as a **Work In Progress**'
body
=
'
marked
as a **Work In Progress**'
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
def
self
.
resolve_all_discussions
(
merge_request
,
project
,
author
)
def
self
.
resolve_all_discussions
(
merge_request
,
project
,
author
)
body
=
"
R
esolved all discussions"
body
=
"
r
esolved all discussions"
create_note
(
noteable:
merge_request
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
merge_request
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -174,7 +172,7 @@ module SystemNoteService
...
@@ -174,7 +172,7 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
Title changed
from **Old** to **New**"
# "
changed title
from **Old** to **New**"
#
#
# Returns the created Note object
# Returns the created Note object
def
change_title
(
noteable
,
project
,
author
,
old_title
)
def
change_title
(
noteable
,
project
,
author
,
old_title
)
...
@@ -185,7 +183,7 @@ module SystemNoteService
...
@@ -185,7 +183,7 @@ module SystemNoteService
marked_old_title
=
Gitlab
::
Diff
::
InlineDiffMarker
.
new
(
old_title
).
mark
(
old_diffs
,
mode: :deletion
,
markdown:
true
)
marked_old_title
=
Gitlab
::
Diff
::
InlineDiffMarker
.
new
(
old_title
).
mark
(
old_diffs
,
mode: :deletion
,
markdown:
true
)
marked_new_title
=
Gitlab
::
Diff
::
InlineDiffMarker
.
new
(
new_title
).
mark
(
new_diffs
,
mode: :addition
,
markdown:
true
)
marked_new_title
=
Gitlab
::
Diff
::
InlineDiffMarker
.
new
(
new_title
).
mark
(
new_diffs
,
mode: :addition
,
markdown:
true
)
body
=
"
Changed title: **
#{
marked_old_title
}
** →
**
#{
marked_new_title
}
**"
body
=
"
changed title from **
#{
marked_old_title
}
** to
**
#{
marked_new_title
}
**"
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -197,11 +195,11 @@ module SystemNoteService
...
@@ -197,11 +195,11 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
M
ade the issue confidential"
# "
m
ade the issue confidential"
#
#
# Returns the created Note object
# Returns the created Note object
def
change_issue_confidentiality
(
issue
,
project
,
author
)
def
change_issue_confidentiality
(
issue
,
project
,
author
)
body
=
issue
.
confidential
?
'
Made the issue confidential'
:
'Made the issue visibl
e'
body
=
issue
.
confidential
?
'
made the issue confidential'
:
'made the issue visible to everyon
e'
create_note
(
noteable:
issue
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
issue
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -216,11 +214,11 @@ module SystemNoteService
...
@@ -216,11 +214,11 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
Target branch changed
from `Old` to `New`"
# "
changed target branch
from `Old` to `New`"
#
#
# Returns the created Note object
# Returns the created Note object
def
change_branch
(
noteable
,
project
,
author
,
branch_type
,
old_branch
,
new_branch
)
def
change_branch
(
noteable
,
project
,
author
,
branch_type
,
old_branch
,
new_branch
)
body
=
"
#{
branch_type
}
branch changed from `
#{
old_branch
}
` to `
#{
new_branch
}
`"
.
capitalize
body
=
"
changed
#{
branch_type
}
branch from `
#{
old_branch
}
` to `
#{
new_branch
}
`"
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -235,7 +233,7 @@ module SystemNoteService
...
@@ -235,7 +233,7 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
R
estored target branch `feature`"
# "
r
estored target branch `feature`"
#
#
# Returns the created Note object
# Returns the created Note object
def
change_branch_presence
(
noteable
,
project
,
author
,
branch_type
,
branch
,
presence
)
def
change_branch_presence
(
noteable
,
project
,
author
,
branch_type
,
branch
,
presence
)
...
@@ -246,18 +244,18 @@ module SystemNoteService
...
@@ -246,18 +244,18 @@ module SystemNoteService
'deleted'
'deleted'
end
end
body
=
"
#{
verb
}
#{
branch_type
}
branch `
#{
branch
}
`"
.
capitalize
body
=
"
#{
verb
}
#{
branch_type
}
branch `
#{
branch
}
`"
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
# Called when a branch is created from the 'new branch' button on a issue
# Called when a branch is created from the 'new branch' button on a issue
# Example note text:
# Example note text:
#
#
# "
Star
ted branch `201-issue-branch-button`"
# "
crea
ted branch `201-issue-branch-button`"
def
new_issue_branch
(
issue
,
project
,
author
,
branch
)
def
new_issue_branch
(
issue
,
project
,
author
,
branch
)
link
=
url_helpers
.
namespace_project_compare_url
(
project
.
namespace
,
project
,
from:
project
.
default_branch
,
to:
branch
)
link
=
url_helpers
.
namespace_project_compare_url
(
project
.
namespace
,
project
,
from:
project
.
default_branch
,
to:
branch
)
body
=
"
Star
ted branch [`
#{
branch
}
`](
#{
link
}
)"
body
=
"
crea
ted branch [`
#{
branch
}
`](
#{
link
}
)"
create_note
(
noteable:
issue
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
issue
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -269,11 +267,11 @@ module SystemNoteService
...
@@ -269,11 +267,11 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
M
entioned in #1"
# "
m
entioned in #1"
#
#
# "
M
entioned in !2"
# "
m
entioned in !2"
#
#
# "
M
entioned in 54f7727c"
# "
m
entioned in 54f7727c"
#
#
# See cross_reference_note_content.
# See cross_reference_note_content.
#
#
...
@@ -303,12 +301,12 @@ module SystemNoteService
...
@@ -303,12 +301,12 @@ module SystemNoteService
end
end
def
cross_reference?
(
note_text
)
def
cross_reference?
(
note_text
)
note_text
.
start_with?
(
cross_reference_note_prefix
)
note_text
=~
/\A
#{
cross_reference_note_prefix
}
/i
end
end
# Check if a cross-reference is disallowed
# Check if a cross-reference is disallowed
#
#
# This method prevents adding a "
M
entioned in !1" note on every single commit
# This method prevents adding a "
m
entioned in !1" note on every single commit
# in a merge request. Additionally, it prevents the creation of references to
# in a merge request. Additionally, it prevents the creation of references to
# external issues (which would fail).
# external issues (which would fail).
#
#
...
@@ -370,12 +368,12 @@ module SystemNoteService
...
@@ -370,12 +368,12 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
Soandso
marked the task Whatever as completed."
# "marked the task Whatever as completed."
#
#
# Returns the created Note object
# Returns the created Note object
def
change_task_status
(
noteable
,
project
,
author
,
new_task
)
def
change_task_status
(
noteable
,
project
,
author
,
new_task
)
status_label
=
new_task
.
complete?
?
Taskable
::
COMPLETED
:
Taskable
::
INCOMPLETE
status_label
=
new_task
.
complete?
?
Taskable
::
COMPLETED
:
Taskable
::
INCOMPLETE
body
=
"
M
arked the task **
#{
new_task
.
source
}
** as
#{
status_label
}
"
body
=
"
m
arked the task **
#{
new_task
.
source
}
** as
#{
status_label
}
"
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -388,7 +386,7 @@ module SystemNoteService
...
@@ -388,7 +386,7 @@ module SystemNoteService
#
#
# Example Note text:
# Example Note text:
#
#
# "
M
oved to some_namespace/project_new#11"
# "
m
oved to some_namespace/project_new#11"
#
#
# Returns the created Note object
# Returns the created Note object
def
noteable_moved
(
noteable
,
project
,
noteable_ref
,
author
,
direction
:)
def
noteable_moved
(
noteable
,
project
,
noteable_ref
,
author
,
direction
:)
...
@@ -397,7 +395,7 @@ module SystemNoteService
...
@@ -397,7 +395,7 @@ module SystemNoteService
end
end
cross_reference
=
noteable_ref
.
to_reference
(
project
)
cross_reference
=
noteable_ref
.
to_reference
(
project
)
body
=
"
M
oved
#{
direction
}
#{
cross_reference
}
"
body
=
"
m
oved
#{
direction
}
#{
cross_reference
}
"
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
create_note
(
noteable:
noteable
,
project:
project
,
author:
author
,
note:
body
)
end
end
...
@@ -405,10 +403,12 @@ module SystemNoteService
...
@@ -405,10 +403,12 @@ module SystemNoteService
def
notes_for_mentioner
(
mentioner
,
noteable
,
notes
)
def
notes_for_mentioner
(
mentioner
,
noteable
,
notes
)
if
mentioner
.
is_a?
(
Commit
)
if
mentioner
.
is_a?
(
Commit
)
notes
.
where
(
'note LIKE ?'
,
"
#{
cross_reference_note_prefix
}
%
#{
mentioner
.
to_reference
(
nil
)
}
"
)
text
=
"
#{
cross_reference_note_prefix
}
%
#{
mentioner
.
to_reference
(
nil
)
}
"
notes
.
where
(
'(note LIKE ? OR note LIKE ?)'
,
text
,
text
.
capitalize
)
else
else
gfm_reference
=
mentioner
.
gfm_reference
(
noteable
.
project
)
gfm_reference
=
mentioner
.
gfm_reference
(
noteable
.
project
)
notes
.
where
(
note:
cross_reference_note_content
(
gfm_reference
))
text
=
cross_reference_note_content
(
gfm_reference
)
notes
.
where
(
note:
[
text
,
text
.
capitalize
])
end
end
end
end
...
@@ -417,7 +417,7 @@ module SystemNoteService
...
@@ -417,7 +417,7 @@ module SystemNoteService
end
end
def
cross_reference_note_prefix
def
cross_reference_note_prefix
'
M
entioned in '
'
m
entioned in '
end
end
def
cross_reference_note_content
(
gfm_reference
)
def
cross_reference_note_content
(
gfm_reference
)
...
...
changelogs/unreleased/rephrase-system-notes.yml
0 → 100644
View file @
6df22f72
---
title
:
Rephrase some system notes to be compatible with new system note style
merge_request
:
7692
author
:
doc/api/notes.md
View file @
6df22f72
...
@@ -21,7 +21,7 @@ Parameters:
...
@@ -21,7 +21,7 @@ Parameters:
[
[
{
{
"id"
:
302
,
"id"
:
302
,
"body"
:
"
Status changed to
closed"
,
"body"
:
"closed"
,
"attachment"
:
null
,
"attachment"
:
null
,
"author"
:
{
"author"
:
{
"id"
:
1
,
"id"
:
1
,
...
...
features/steps/project/merge_requests.rb
View file @
6df22f72
...
@@ -515,7 +515,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -515,7 +515,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step
'I should see new target branch changes'
do
step
'I should see new target branch changes'
do
expect
(
page
).
to
have_content
'Request to merge fix into feature'
expect
(
page
).
to
have_content
'Request to merge fix into feature'
expect
(
page
).
to
have_content
'
Target branch changed
from merge-test to feature'
expect
(
page
).
to
have_content
'
changed target branch
from merge-test to feature'
wait_for_ajax
wait_for_ajax
end
end
...
...
features/steps/shared/issuable.rb
View file @
6df22f72
...
@@ -179,7 +179,7 @@ module SharedIssuable
...
@@ -179,7 +179,7 @@ module SharedIssuable
project
=
Project
.
find_by
(
name:
from_project_name
)
project
=
Project
.
find_by
(
name:
from_project_name
)
expect
(
page
).
to
have_content
(
user_name
)
expect
(
page
).
to
have_content
(
user_name
)
expect
(
page
).
to
have_content
(
"
M
entioned in
#{
issuable
.
class
.
to_s
.
titleize
.
downcase
}
#{
issuable
.
to_reference
(
project
)
}
"
)
expect
(
page
).
to
have_content
(
"
m
entioned in
#{
issuable
.
class
.
to_s
.
titleize
.
downcase
}
#{
issuable
.
to_reference
(
project
)
}
"
)
end
end
def
expect_sidebar_content
(
content
)
def
expect_sidebar_content
(
content
)
...
...
spec/controllers/projects/milestones_controller_spec.rb
View file @
6df22f72
...
@@ -31,7 +31,7 @@ describe Projects::MilestonesController do
...
@@ -31,7 +31,7 @@ describe Projects::MilestonesController do
# Check system note left for milestone removal
# Check system note left for milestone removal
last_note
=
project
.
issues
.
find
(
issue
.
id
).
notes
[
-
1
].
note
last_note
=
project
.
issues
.
find
(
issue
.
id
).
notes
[
-
1
].
note
expect
(
last_note
).
to
eq
(
'
Milestone removed
'
)
expect
(
last_note
).
to
eq
(
'
removed milestone
'
)
end
end
end
end
end
end
spec/features/issues/move_spec.rb
View file @
6df22f72
...
@@ -27,7 +27,7 @@ feature 'issue move to another project' do
...
@@ -27,7 +27,7 @@ feature 'issue move to another project' do
let!
(
:mr
)
{
create
(
:merge_request
,
source_project:
old_project
)
}
let!
(
:mr
)
{
create
(
:merge_request
,
source_project:
old_project
)
}
let
(
:new_project
)
{
create
(
:project
)
}
let
(
:new_project
)
{
create
(
:project
)
}
let
(
:new_project_search
)
{
create
(
:project
)
}
let
(
:new_project_search
)
{
create
(
:project
)
}
let
(
:text
)
{
'Text with !1'
}
let
(
:text
)
{
"Text with
#{
mr
.
to_reference
}
"
}
let
(
:cross_reference
)
{
old_project
.
to_reference
}
let
(
:cross_reference
)
{
old_project
.
to_reference
}
background
do
background
do
...
@@ -43,8 +43,8 @@ feature 'issue move to another project' do
...
@@ -43,8 +43,8 @@ feature 'issue move to another project' do
expect
(
current_url
).
to
include
project_path
(
new_project
)
expect
(
current_url
).
to
include
project_path
(
new_project
)
expect
(
page
).
to
have_content
(
"Text with
#{
cross_reference
}
!1
"
)
expect
(
page
).
to
have_content
(
"Text with
#{
cross_reference
}
#{
mr
.
to_reference
}
"
)
expect
(
page
).
to
have_content
(
"
Moved from
#{
cross_reference
}
#1
"
)
expect
(
page
).
to
have_content
(
"
moved from
#{
cross_reference
}#{
issue
.
to_reference
}
"
)
expect
(
page
).
to
have_content
(
issue
.
title
)
expect
(
page
).
to
have_content
(
issue
.
title
)
end
end
...
...
spec/features/issues/new_branch_button_spec.rb
View file @
6df22f72
...
@@ -20,12 +20,12 @@ feature 'Start new branch from an issue', feature: true do
...
@@ -20,12 +20,12 @@ feature 'Start new branch from an issue', feature: true do
context
"when there is a referenced merge request"
do
context
"when there is a referenced merge request"
do
let!
(
:note
)
do
let!
(
:note
)
do
create
(
:note
,
:on_issue
,
:system
,
project:
project
,
noteable:
issue
,
create
(
:note
,
:on_issue
,
:system
,
project:
project
,
noteable:
issue
,
note:
"
Mentioned in !
#{
referenced_mr
.
iid
}
"
)
note:
"
mentioned in
#{
referenced_mr
.
to_reference
}
"
)
end
end
let
(
:referenced_mr
)
do
let
(
:referenced_mr
)
do
create
(
:merge_request
,
:simple
,
source_project:
project
,
target_project:
project
,
create
(
:merge_request
,
:simple
,
source_project:
project
,
target_project:
project
,
description:
"Fixes #
#{
issue
.
iid
}
"
,
author:
user
)
description:
"Fixes
#
{
issue
.
to_reference
}
"
,
author:
user
)
end
end
before
do
before
do
...
...
spec/features/merge_requests/merge_when_build_succeeds_spec.rb
View file @
6df22f72
...
@@ -44,7 +44,7 @@ feature 'Merge When Build Succeeds', feature: true, js: true do
...
@@ -44,7 +44,7 @@ feature 'Merge When Build Succeeds', feature: true, js: true do
expect
(
page
).
to
have_content
"The source branch will not be removed."
expect
(
page
).
to
have_content
"The source branch will not be removed."
visit_merge_request
(
merge_request
)
# Needed to refresh the page
visit_merge_request
(
merge_request
)
# Needed to refresh the page
expect
(
page
).
to
have_content
/
Enabled an automatic merge when the build for [0-9a-f]
{8} succeeds/i
expect
(
page
).
to
have_content
/
enabled an automatic merge when the build for \h
{8} succeeds/i
end
end
end
end
end
end
...
...
spec/features/notes_on_merge_requests_spec.rb
View file @
6df22f72
...
@@ -141,7 +141,7 @@ describe 'Comments', feature: true do
...
@@ -141,7 +141,7 @@ describe 'Comments', feature: true do
let
(
:project2
)
{
create
(
:project
,
:private
)
}
let
(
:project2
)
{
create
(
:project
,
:private
)
}
let
(
:issue
)
{
create
(
:issue
,
project:
project2
)
}
let
(
:issue
)
{
create
(
:issue
,
project:
project2
)
}
let
(
:merge_request
)
{
create
(
:merge_request
,
source_project:
project
,
source_branch:
'markdown'
)
}
let
(
:merge_request
)
{
create
(
:merge_request
,
source_project:
project
,
source_branch:
'markdown'
)
}
let!
(
:note
)
{
create
(
:note_on_merge_request
,
:system
,
noteable:
merge_request
,
project:
project
,
note:
"
M
entioned in
#{
issue
.
to_reference
(
project
)
}
"
)
}
let!
(
:note
)
{
create
(
:note_on_merge_request
,
:system
,
noteable:
merge_request
,
project:
project
,
note:
"
m
entioned in
#{
issue
.
to_reference
(
project
)
}
"
)
}
it
'shows the system note'
do
it
'shows the system note'
do
login_as
:admin
login_as
:admin
...
...
spec/models/note_spec.rb
View file @
6df22f72
...
@@ -223,7 +223,7 @@ describe Note, models: true do
...
@@ -223,7 +223,7 @@ describe Note, models: true do
let
(
:note
)
do
let
(
:note
)
do
create
:note
,
create
:note
,
noteable:
ext_issue
,
project:
ext_proj
,
noteable:
ext_issue
,
project:
ext_proj
,
note:
"
M
entioned in issue
#{
private_issue
.
to_reference
(
ext_proj
)
}
"
,
note:
"
m
entioned in issue
#{
private_issue
.
to_reference
(
ext_proj
)
}
"
,
system:
true
system:
true
end
end
...
...
spec/requests/api/notes_spec.rb
View file @
6df22f72
...
@@ -25,7 +25,7 @@ describe API::API, api: true do
...
@@ -25,7 +25,7 @@ describe API::API, api: true do
let!
(
:cross_reference_note
)
do
let!
(
:cross_reference_note
)
do
create
:note
,
create
:note
,
noteable:
ext_issue
,
project:
ext_proj
,
noteable:
ext_issue
,
project:
ext_proj
,
note:
"
M
entioned in issue
#{
private_issue
.
to_reference
(
ext_proj
)
}
"
,
note:
"
m
entioned in issue
#{
private_issue
.
to_reference
(
ext_proj
)
}
"
,
system:
true
system:
true
end
end
...
...
spec/services/issues/close_service_spec.rb
View file @
6df22f72
...
@@ -62,7 +62,7 @@ describe Issues::CloseService, services: true do
...
@@ -62,7 +62,7 @@ describe Issues::CloseService, services: true do
it
'creates system note about issue reassign'
do
it
'creates system note about issue reassign'
do
note
=
issue
.
notes
.
last
note
=
issue
.
notes
.
last
expect
(
note
.
note
).
to
include
"
Status changed to
closed"
expect
(
note
.
note
).
to
include
"closed"
end
end
it
'marks todos as done'
do
it
'marks todos as done'
do
...
...
spec/services/issues/move_service_spec.rb
View file @
6df22f72
...
@@ -81,11 +81,11 @@ describe Issues::MoveService, services: true do
...
@@ -81,11 +81,11 @@ describe Issues::MoveService, services: true do
end
end
it
'adds system note to old issue at the end'
do
it
'adds system note to old issue at the end'
do
expect
(
old_issue
.
notes
.
last
.
note
).
to
match
/^Moved to/
expect
(
old_issue
.
notes
.
last
.
note
).
to
start_with
'moved to'
end
end
it
'adds system note to new issue at the end'
do
it
'adds system note to new issue at the end'
do
expect
(
new_issue
.
notes
.
last
.
note
).
to
match
/^Moved from/
expect
(
new_issue
.
notes
.
last
.
note
).
to
start_with
'moved from'
end
end
it
'closes old issue'
do
it
'closes old issue'
do
...
@@ -151,7 +151,7 @@ describe Issues::MoveService, services: true do
...
@@ -151,7 +151,7 @@ describe Issues::MoveService, services: true do
end
end
it
'adds a system note about move after rewritten notes'
do
it
'adds a system note about move after rewritten notes'
do
expect
(
system_notes
.
last
.
note
).
to
match
/^
M
oved from/
expect
(
system_notes
.
last
.
note
).
to
match
/^
m
oved from/
end
end
it
'preserves orignal author of comment'
do
it
'preserves orignal author of comment'
do
...
...
spec/services/issues/update_service_spec.rb
View file @
6df22f72
...
@@ -91,24 +91,24 @@ describe Issues::UpdateService, services: true do
...
@@ -91,24 +91,24 @@ describe Issues::UpdateService, services: true do
end
end
it
'creates system note about issue reassign'
do
it
'creates system note about issue reassign'
do
note
=
find_note
(
'
Re
assigned to'
)
note
=
find_note
(
'assigned to'
)
expect
(
note
).
not_to
be_nil
expect
(
note
).
not_to
be_nil
expect
(
note
.
note
).
to
include
"
Reassigned to
\@
#{
user2
.
usernam
e
}
"
expect
(
note
.
note
).
to
include
"
assigned to
#{
user2
.
to_referenc
e
}
"
end
end
it
'creates system note about issue label edit'
do
it
'creates system note about issue label edit'
do
note
=
find_note
(
'
A
dded ~'
)
note
=
find_note
(
'
a
dded ~'
)
expect
(
note
).
not_to
be_nil
expect
(
note
).
not_to
be_nil
expect
(
note
.
note
).
to
include
"
Added ~
#{
label
.
id
}
label"
expect
(
note
.
note
).
to
include
"
added
#{
label
.
to_reference
}
label"
end
end
it
'creates system note about title change'
do
it
'creates system note about title change'
do
note
=
find_note
(
'
Changed title:
'
)
note
=
find_note
(
'
changed title
'
)
expect
(
note
).
not_to
be_nil
expect
(
note
).
not_to
be_nil
expect
(
note
.
note
).
to
eq
'
Changed title: **{-Old-} title** →
**{+New+} title**'
expect
(
note
.
note
).
to
eq
'
changed title from **{-Old-} title** to
**{+New+} title**'
end
end
end
end
end
end
...
@@ -128,10 +128,10 @@ describe Issues::UpdateService, services: true do
...
@@ -128,10 +128,10 @@ describe Issues::UpdateService, services: true do
it
'creates system note about confidentiality change'
do
it
'creates system note about confidentiality change'
do
update_issue
(
confidential:
true
)
update_issue
(
confidential:
true
)
note
=
find_note
(
'
M
ade the issue confidential'
)
note
=
find_note
(
'
m
ade the issue confidential'
)
expect
(
note
).
not_to
be_nil
expect
(
note
).
not_to
be_nil
expect
(
note
.
note
).
to
eq
'
M
ade the issue confidential'
expect
(
note
.
note
).
to
eq
'
m
ade the issue confidential'
end
end
it
'executes confidential issue hooks'
do
it
'executes confidential issue hooks'
do
...
@@ -269,8 +269,8 @@ describe Issues::UpdateService, services: true do
...
@@ -269,8 +269,8 @@ describe Issues::UpdateService, services: true do
before
{
update_issue
(
description:
"- [x] Task 1
\n
- [X] Task 2"
)
}
before
{
update_issue
(
description:
"- [x] Task 1
\n
- [X] Task 2"
)
}
it
'creates system note about task status change'
do
it
'creates system note about task status change'
do
note1
=
find_note
(
'
M
arked the task **Task 1** as completed'
)
note1
=
find_note
(
'
m
arked the task **Task 1** as completed'
)
note2
=
find_note
(
'
M
arked the task **Task 2** as completed'
)
note2
=
find_note
(
'
m
arked the task **Task 2** as completed'
)
expect
(
note1
).
not_to
be_nil
expect
(
note1
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
...
@@ -284,8 +284,8 @@ describe Issues::UpdateService, services: true do
...
@@ -284,8 +284,8 @@ describe Issues::UpdateService, services: true do
end
end
it
'creates system note about task status change'
do
it
'creates system note about task status change'
do
note1
=
find_note
(
'
M
arked the task **Task 1** as incomplete'
)
note1
=
find_note
(
'
m
arked the task **Task 1** as incomplete'
)
note2
=
find_note
(
'
M
arked the task **Task 2** as incomplete'
)
note2
=
find_note
(
'
m
arked the task **Task 2** as incomplete'
)
expect
(
note1
).
not_to
be_nil
expect
(
note1
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
...
@@ -299,7 +299,7 @@ describe Issues::UpdateService, services: true do
...
@@ -299,7 +299,7 @@ describe Issues::UpdateService, services: true do
end
end
it
'does not create a system note'
do
it
'does not create a system note'
do
note
=
find_note
(
'
M
arked the task **Task 2** as incomplete'
)
note
=
find_note
(
'
m
arked the task **Task 2** as incomplete'
)
expect
(
note
).
to
be_nil
expect
(
note
).
to
be_nil
end
end
...
@@ -312,7 +312,7 @@ describe Issues::UpdateService, services: true do
...
@@ -312,7 +312,7 @@ describe Issues::UpdateService, services: true do
end
end
it
'does not create a system note referencing the position the old item'
do
it
'does not create a system note referencing the position the old item'
do
note
=
find_note
(
'
M
arked the task **Two** as incomplete'
)
note
=
find_note
(
'
m
arked the task **Two** as incomplete'
)
expect
(
note
).
to
be_nil
expect
(
note
).
to
be_nil
end
end
...
...
spec/services/merge_requests/close_service_spec.rb
View file @
6df22f72
...
@@ -42,7 +42,7 @@ describe MergeRequests::CloseService, services: true do
...
@@ -42,7 +42,7 @@ describe MergeRequests::CloseService, services: true do
it
'creates system note about merge_request reassign'
do
it
'creates system note about merge_request reassign'
do
note
=
@merge_request
.
notes
.
last
note
=
@merge_request
.
notes
.
last
expect
(
note
.
note
).
to
include
'
Status changed to
closed'
expect
(
note
.
note
).
to
include
'closed'
end
end
it
'marks todos as done'
do
it
'marks todos as done'
do
...
...
spec/services/merge_requests/merge_service_spec.rb
View file @
6df22f72
...
@@ -34,7 +34,7 @@ describe MergeRequests::MergeService, services: true do
...
@@ -34,7 +34,7 @@ describe MergeRequests::MergeService, services: true do
it
'creates system note about merge_request merge'
do
it
'creates system note about merge_request merge'
do
note
=
merge_request
.
notes
.
last
note
=
merge_request
.
notes
.
last
expect
(
note
.
note
).
to
include
'
Status changed to
merged'
expect
(
note
.
note
).
to
include
'merged'
end
end
end
end
...
...
spec/services/merge_requests/merge_when_build_succeeds_service_spec.rb
View file @
6df22f72
...
@@ -34,7 +34,7 @@ describe MergeRequests::MergeWhenBuildSucceedsService do
...
@@ -34,7 +34,7 @@ describe MergeRequests::MergeWhenBuildSucceedsService do
it
'creates a system note'
do
it
'creates a system note'
do
note
=
merge_request
.
notes
.
last
note
=
merge_request
.
notes
.
last
expect
(
note
.
note
).
to
match
/
Enabled an automatic merge when the build for (\w+\/\w+@)?[0-9a-z]
{8}/
expect
(
note
.
note
).
to
match
/
enabled an automatic merge when the build for (\w+\/\w+@)?\h
{8}/
end
end
end
end
...
@@ -113,7 +113,7 @@ describe MergeRequests::MergeWhenBuildSucceedsService do
...
@@ -113,7 +113,7 @@ describe MergeRequests::MergeWhenBuildSucceedsService do
it
'Posts a system note'
do
it
'Posts a system note'
do
note
=
mr_merge_if_green_enabled
.
notes
.
last
note
=
mr_merge_if_green_enabled
.
notes
.
last
expect
(
note
.
note
).
to
include
'
C
anceled the automatic merge'
expect
(
note
.
note
).
to
include
'
c
anceled the automatic merge'
end
end
end
end
...
...
spec/services/merge_requests/refresh_service_spec.rb
View file @
6df22f72
...
@@ -76,10 +76,10 @@ describe MergeRequests::RefreshService, services: true do
...
@@ -76,10 +76,10 @@ describe MergeRequests::RefreshService, services: true do
reload_mrs
reload_mrs
end
end
it
{
expect
(
@merge_request
.
notes
.
last
.
note
).
to
include
(
'
changed to
merged'
)
}
it
{
expect
(
@merge_request
.
notes
.
last
.
note
).
to
include
(
'merged'
)
}
it
{
expect
(
@merge_request
).
to
be_merged
}
it
{
expect
(
@merge_request
).
to
be_merged
}
it
{
expect
(
@fork_merge_request
).
to
be_merged
}
it
{
expect
(
@fork_merge_request
).
to
be_merged
}
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'
changed to
merged'
)
}
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'merged'
)
}
it
{
expect
(
@build_failed_todo
).
to
be_done
}
it
{
expect
(
@build_failed_todo
).
to
be_done
}
it
{
expect
(
@fork_build_failed_todo
).
to
be_done
}
it
{
expect
(
@fork_build_failed_todo
).
to
be_done
}
end
end
...
@@ -95,11 +95,11 @@ describe MergeRequests::RefreshService, services: true do
...
@@ -95,11 +95,11 @@ describe MergeRequests::RefreshService, services: true do
reload_mrs
reload_mrs
end
end
it
{
expect
(
@merge_request
.
notes
.
last
.
note
).
to
include
(
'
changed to
merged'
)
}
it
{
expect
(
@merge_request
.
notes
.
last
.
note
).
to
include
(
'merged'
)
}
it
{
expect
(
@merge_request
).
to
be_merged
}
it
{
expect
(
@merge_request
).
to
be_merged
}
it
{
expect
(
@merge_request
.
diffs
.
size
).
to
be
>
0
}
it
{
expect
(
@merge_request
.
diffs
.
size
).
to
be
>
0
}
it
{
expect
(
@fork_merge_request
).
to
be_merged
}
it
{
expect
(
@fork_merge_request
).
to
be_merged
}
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'
changed to
merged'
)
}
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'merged'
)
}
it
{
expect
(
@build_failed_todo
).
to
be_done
}
it
{
expect
(
@build_failed_todo
).
to
be_done
}
it
{
expect
(
@fork_build_failed_todo
).
to
be_done
}
it
{
expect
(
@fork_build_failed_todo
).
to
be_done
}
end
end
...
@@ -119,7 +119,7 @@ describe MergeRequests::RefreshService, services: true do
...
@@ -119,7 +119,7 @@ describe MergeRequests::RefreshService, services: true do
it
{
expect
(
@merge_request
.
notes
).
to
be_empty
}
it
{
expect
(
@merge_request
.
notes
).
to
be_empty
}
it
{
expect
(
@merge_request
).
to
be_open
}
it
{
expect
(
@merge_request
).
to
be_open
}
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'
A
dded 28 commits'
)
}
it
{
expect
(
@fork_merge_request
.
notes
.
last
.
note
).
to
include
(
'
a
dded 28 commits'
)
}
it
{
expect
(
@fork_merge_request
).
to
be_open
}
it
{
expect
(
@fork_merge_request
).
to
be_open
}
it
{
expect
(
@build_failed_todo
).
to
be_pending
}
it
{
expect
(
@build_failed_todo
).
to
be_pending
}
it
{
expect
(
@fork_build_failed_todo
).
to
be_pending
}
it
{
expect
(
@fork_build_failed_todo
).
to
be_pending
}
...
@@ -146,7 +146,7 @@ describe MergeRequests::RefreshService, services: true do
...
@@ -146,7 +146,7 @@ describe MergeRequests::RefreshService, services: true do
reload_mrs
reload_mrs
end
end
it
{
expect
(
@merge_request
.
notes
.
last
.
note
).
to
include
(
'
changed to
merged'
)
}
it
{
expect
(
@merge_request
.
notes
.
last
.
note
).
to
include
(
'merged'
)
}
it
{
expect
(
@merge_request
).
to
be_merged
}
it
{
expect
(
@merge_request
).
to
be_merged
}
it
{
expect
(
@fork_merge_request
).
to
be_open
}
it
{
expect
(
@fork_merge_request
).
to
be_open
}
it
{
expect
(
@fork_merge_request
.
notes
).
to
be_empty
}
it
{
expect
(
@fork_merge_request
.
notes
).
to
be_empty
}
...
@@ -169,8 +169,8 @@ describe MergeRequests::RefreshService, services: true do
...
@@ -169,8 +169,8 @@ describe MergeRequests::RefreshService, services: true do
expect
(
@merge_request
).
to
be_open
expect
(
@merge_request
).
to
be_open
notes
=
@fork_merge_request
.
notes
.
reorder
(
:created_at
).
map
(
&
:note
)
notes
=
@fork_merge_request
.
notes
.
reorder
(
:created_at
).
map
(
&
:note
)
expect
(
notes
[
0
]).
to
include
(
'
R
estored source branch `master`'
)
expect
(
notes
[
0
]).
to
include
(
'
r
estored source branch `master`'
)
expect
(
notes
[
1
]).
to
include
(
'
A
dded 28 commits'
)
expect
(
notes
[
1
]).
to
include
(
'
a
dded 28 commits'
)
expect
(
@fork_merge_request
).
to
be_open
expect
(
@fork_merge_request
).
to
be_open
end
end
end
end
...
...
spec/services/merge_requests/reopen_service_spec.rb
View file @
6df22f72
...
@@ -41,7 +41,7 @@ describe MergeRequests::ReopenService, services: true do
...
@@ -41,7 +41,7 @@ describe MergeRequests::ReopenService, services: true do
it
'creates system note about merge_request reopen'
do
it
'creates system note about merge_request reopen'
do
note
=
merge_request
.
notes
.
last
note
=
merge_request
.
notes
.
last
expect
(
note
.
note
).
to
include
'
Status changed to
reopened'
expect
(
note
.
note
).
to
include
'reopened'
end
end
end
end
...
...
spec/services/merge_requests/update_service_spec.rb
View file @
6df22f72
...
@@ -79,31 +79,31 @@ describe MergeRequests::UpdateService, services: true do
...
@@ -79,31 +79,31 @@ describe MergeRequests::UpdateService, services: true do
end
end
it
'creates system note about merge_request reassign'
do
it
'creates system note about merge_request reassign'
do
note
=
find_note
(
'
Re
assigned to'
)
note
=
find_note
(
'assigned to'
)
expect
(
note
).
not_to
be_nil
expect
(
note
).
not_to
be_nil
expect
(
note
.
note
).
to
include
"
Reassigned to
\@
#{
user2
.
usernam
e
}
"
expect
(
note
.
note
).
to
include
"
assigned to
#{
user2
.
to_referenc
e
}
"
end
end
it
'creates system note about merge_request label edit'
do
it
'creates system note about merge_request label edit'
do
note
=
find_note
(
'
A
dded ~'
)
note
=
find_note
(
'
a
dded ~'
)
expect
(
note
).
not_to
be_nil
expect
(
note
).
not_to
be_nil
expect
(
note
.
note
).
to
include
"
Added ~
#{
label
.
id
}
label"
expect
(
note
.
note
).
to
include
"
added
#{
label
.
to_reference
}
label"
end
end
it
'creates system note about title change'
do
it
'creates system note about title change'
do
note
=
find_note
(
'
Changed title:
'
)
note
=
find_note
(
'
changed title
'
)
expect
(
note
).
not_to
be_nil
expect
(
note
).
not_to
be_nil
expect
(
note
.
note
).
to
eq
'
Changed title: **{-Old-} title** →
**{+New+} title**'
expect
(
note
.
note
).
to
eq
'
changed title from **{-Old-} title** to
**{+New+} title**'
end
end
it
'creates system note about branch change'
do
it
'creates system note about branch change'
do
note
=
find_note
(
'
T
arget'
)
note
=
find_note
(
'
changed t
arget'
)
expect
(
note
).
not_to
be_nil
expect
(
note
).
not_to
be_nil
expect
(
note
.
note
).
to
eq
'
Target branch changed
from `master` to `target`'
expect
(
note
.
note
).
to
eq
'
changed target branch
from `master` to `target`'
end
end
context
'when not including source branch removal options'
do
context
'when not including source branch removal options'
do
...
@@ -258,8 +258,8 @@ describe MergeRequests::UpdateService, services: true do
...
@@ -258,8 +258,8 @@ describe MergeRequests::UpdateService, services: true do
before
{
update_merge_request
({
description:
"- [x] Task 1
\n
- [X] Task 2"
})
}
before
{
update_merge_request
({
description:
"- [x] Task 1
\n
- [X] Task 2"
})
}
it
'creates system note about task status change'
do
it
'creates system note about task status change'
do
note1
=
find_note
(
'
M
arked the task **Task 1** as completed'
)
note1
=
find_note
(
'
m
arked the task **Task 1** as completed'
)
note2
=
find_note
(
'
M
arked the task **Task 2** as completed'
)
note2
=
find_note
(
'
m
arked the task **Task 2** as completed'
)
expect
(
note1
).
not_to
be_nil
expect
(
note1
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
...
@@ -273,8 +273,8 @@ describe MergeRequests::UpdateService, services: true do
...
@@ -273,8 +273,8 @@ describe MergeRequests::UpdateService, services: true do
end
end
it
'creates system note about task status change'
do
it
'creates system note about task status change'
do
note1
=
find_note
(
'
M
arked the task **Task 1** as incomplete'
)
note1
=
find_note
(
'
m
arked the task **Task 1** as incomplete'
)
note2
=
find_note
(
'
M
arked the task **Task 2** as incomplete'
)
note2
=
find_note
(
'
m
arked the task **Task 2** as incomplete'
)
expect
(
note1
).
not_to
be_nil
expect
(
note1
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
...
...
spec/services/system_note_service_spec.rb
View file @
6df22f72
...
@@ -50,7 +50,7 @@ describe SystemNoteService, services: true do
...
@@ -50,7 +50,7 @@ describe SystemNoteService, services: true do
context
'without existing commits'
do
context
'without existing commits'
do
it
'adds a message header'
do
it
'adds a message header'
do
expect
(
note_lines
[
0
]).
to
eq
"
Added
#{
new_commits
.
size
}
commits:
"
expect
(
note_lines
[
0
]).
to
eq
"
added
#{
new_commits
.
size
}
commits
"
end
end
it
'adds a message line for each commit'
do
it
'adds a message line for each commit'
do
...
@@ -120,7 +120,7 @@ describe SystemNoteService, services: true do
...
@@ -120,7 +120,7 @@ describe SystemNoteService, services: true do
context
'when assignee added'
do
context
'when assignee added'
do
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"
Re
assigned to @
#{
assignee
.
username
}
"
expect
(
subject
.
note
).
to
eq
"assigned to @
#{
assignee
.
username
}
"
end
end
end
end
...
@@ -128,7 +128,7 @@ describe SystemNoteService, services: true do
...
@@ -128,7 +128,7 @@ describe SystemNoteService, services: true do
let
(
:assignee
)
{
nil
}
let
(
:assignee
)
{
nil
}
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
'
Assignee removed
'
expect
(
subject
.
note
).
to
eq
'
removed assignee
'
end
end
end
end
end
end
...
@@ -147,7 +147,7 @@ describe SystemNoteService, services: true do
...
@@ -147,7 +147,7 @@ describe SystemNoteService, services: true do
let
(
:removed
)
{
[]
}
let
(
:removed
)
{
[]
}
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"
A
dded ~
#{
labels
[
0
].
id
}
~
#{
labels
[
1
].
id
}
labels"
expect
(
subject
.
note
).
to
eq
"
a
dded ~
#{
labels
[
0
].
id
}
~
#{
labels
[
1
].
id
}
labels"
end
end
end
end
...
@@ -156,7 +156,7 @@ describe SystemNoteService, services: true do
...
@@ -156,7 +156,7 @@ describe SystemNoteService, services: true do
let
(
:removed
)
{
labels
}
let
(
:removed
)
{
labels
}
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"
R
emoved ~
#{
labels
[
0
].
id
}
~
#{
labels
[
1
].
id
}
labels"
expect
(
subject
.
note
).
to
eq
"
r
emoved ~
#{
labels
[
0
].
id
}
~
#{
labels
[
1
].
id
}
labels"
end
end
end
end
...
@@ -165,7 +165,7 @@ describe SystemNoteService, services: true do
...
@@ -165,7 +165,7 @@ describe SystemNoteService, services: true do
let
(
:removed
)
{
[
labels
[
1
]]
}
let
(
:removed
)
{
[
labels
[
1
]]
}
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"
A
dded ~
#{
labels
[
0
].
id
}
and removed ~
#{
labels
[
1
].
id
}
labels"
expect
(
subject
.
note
).
to
eq
"
a
dded ~
#{
labels
[
0
].
id
}
and removed ~
#{
labels
[
1
].
id
}
labels"
end
end
end
end
end
end
...
@@ -179,7 +179,7 @@ describe SystemNoteService, services: true do
...
@@ -179,7 +179,7 @@ describe SystemNoteService, services: true do
context
'when milestone added'
do
context
'when milestone added'
do
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"
Milestone changed
to
#{
milestone
.
to_reference
}
"
expect
(
subject
.
note
).
to
eq
"
changed milestone
to
#{
milestone
.
to_reference
}
"
end
end
end
end
...
@@ -187,7 +187,7 @@ describe SystemNoteService, services: true do
...
@@ -187,7 +187,7 @@ describe SystemNoteService, services: true do
let
(
:milestone
)
{
nil
}
let
(
:milestone
)
{
nil
}
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
'
Milestone removed
'
expect
(
subject
.
note
).
to
eq
'
removed milestone
'
end
end
end
end
end
end
...
@@ -204,13 +204,13 @@ describe SystemNoteService, services: true do
...
@@ -204,13 +204,13 @@ describe SystemNoteService, services: true do
let
(
:source
)
{
double
(
'commit'
,
gfm_reference:
'commit 123456'
)
}
let
(
:source
)
{
double
(
'commit'
,
gfm_reference:
'commit 123456'
)
}
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"
Status changed to
#{
status
}
by
commit 123456"
expect
(
subject
.
note
).
to
eq
"
#{
status
}
via
commit 123456"
end
end
end
end
context
'without a source'
do
context
'without a source'
do
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"Status changed to
#{
status
}
"
expect
(
subject
.
note
).
to
eq
status
end
end
end
end
end
end
...
@@ -226,7 +226,7 @@ describe SystemNoteService, services: true do
...
@@ -226,7 +226,7 @@ describe SystemNoteService, services: true do
it_behaves_like
'a system note'
it_behaves_like
'a system note'
it
"posts the Merge When Build Succeeds system note"
do
it
"posts the Merge When Build Succeeds system note"
do
expect
(
subject
.
note
).
to
match
/
Enabled an automatic merge when the build for (\w+\/\w+@)?[0-9a-f]
{40} succeeds/
expect
(
subject
.
note
).
to
match
/
enabled an automatic merge when the build for (\w+\/\w+@)?\h
{40} succeeds/
end
end
end
end
...
@@ -240,7 +240,7 @@ describe SystemNoteService, services: true do
...
@@ -240,7 +240,7 @@ describe SystemNoteService, services: true do
it_behaves_like
'a system note'
it_behaves_like
'a system note'
it
"posts the Merge When Build Succeeds system note"
do
it
"posts the Merge When Build Succeeds system note"
do
expect
(
subject
.
note
).
to
eq
"
C
anceled the automatic merge"
expect
(
subject
.
note
).
to
eq
"
c
anceled the automatic merge"
end
end
end
end
...
@@ -252,7 +252,7 @@ describe SystemNoteService, services: true do
...
@@ -252,7 +252,7 @@ describe SystemNoteService, services: true do
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
expect
(
subject
.
note
).
to
eq
"
Changed title: **{-Old title-}** →
**{+
#{
noteable
.
title
}
+}**"
to
eq
"
changed title from **{-Old title-}** to
**{+
#{
noteable
.
title
}
+}**"
end
end
end
end
end
end
...
@@ -264,7 +264,7 @@ describe SystemNoteService, services: true do
...
@@ -264,7 +264,7 @@ describe SystemNoteService, services: true do
it_behaves_like
'a system note'
it_behaves_like
'a system note'
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
'
Made the issue visibl
e'
expect
(
subject
.
note
).
to
eq
'
made the issue visible to everyon
e'
end
end
end
end
end
end
...
@@ -278,7 +278,7 @@ describe SystemNoteService, services: true do
...
@@ -278,7 +278,7 @@ describe SystemNoteService, services: true do
context
'when target branch name changed'
do
context
'when target branch name changed'
do
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"
Target branch changed
from `
#{
old_branch
}
` to `
#{
new_branch
}
`"
expect
(
subject
.
note
).
to
eq
"
changed target branch
from `
#{
old_branch
}
` to `
#{
new_branch
}
`"
end
end
end
end
end
end
...
@@ -290,7 +290,7 @@ describe SystemNoteService, services: true do
...
@@ -290,7 +290,7 @@ describe SystemNoteService, services: true do
context
'when source branch deleted'
do
context
'when source branch deleted'
do
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
eq
"
D
eleted source branch `feature`"
expect
(
subject
.
note
).
to
eq
"
d
eleted source branch `feature`"
end
end
end
end
end
end
...
@@ -302,7 +302,7 @@ describe SystemNoteService, services: true do
...
@@ -302,7 +302,7 @@ describe SystemNoteService, services: true do
context
'when a branch is created from the new branch button'
do
context
'when a branch is created from the new branch button'
do
it
'sets the note text'
do
it
'sets the note text'
do
expect
(
subject
.
note
).
to
match
/\A
Star
ted branch [`1-mepmep`]/
expect
(
subject
.
note
).
to
match
/\A
crea
ted branch [`1-mepmep`]/
end
end
end
end
end
end
...
@@ -338,13 +338,13 @@ describe SystemNoteService, services: true do
...
@@ -338,13 +338,13 @@ describe SystemNoteService, services: true do
let
(
:mentioner
)
{
project2
.
repository
.
commit
}
let
(
:mentioner
)
{
project2
.
repository
.
commit
}
it
'references the mentioning commit'
do
it
'references the mentioning commit'
do
expect
(
subject
.
note
).
to
eq
"
M
entioned in commit
#{
mentioner
.
to_reference
(
project
)
}
"
expect
(
subject
.
note
).
to
eq
"
m
entioned in commit
#{
mentioner
.
to_reference
(
project
)
}
"
end
end
end
end
context
'from non-Commit'
do
context
'from non-Commit'
do
it
'references the mentioning object'
do
it
'references the mentioning object'
do
expect
(
subject
.
note
).
to
eq
"
M
entioned in issue
#{
mentioner
.
to_reference
(
project
)
}
"
expect
(
subject
.
note
).
to
eq
"
m
entioned in issue
#{
mentioner
.
to_reference
(
project
)
}
"
end
end
end
end
end
end
...
@@ -354,13 +354,13 @@ describe SystemNoteService, services: true do
...
@@ -354,13 +354,13 @@ describe SystemNoteService, services: true do
let
(
:mentioner
)
{
project
.
repository
.
commit
}
let
(
:mentioner
)
{
project
.
repository
.
commit
}
it
'references the mentioning commit'
do
it
'references the mentioning commit'
do
expect
(
subject
.
note
).
to
eq
"
M
entioned in commit
#{
mentioner
.
to_reference
}
"
expect
(
subject
.
note
).
to
eq
"
m
entioned in commit
#{
mentioner
.
to_reference
}
"
end
end
end
end
context
'from non-Commit'
do
context
'from non-Commit'
do
it
'references the mentioning object'
do
it
'references the mentioning object'
do
expect
(
subject
.
note
).
to
eq
"
M
entioned in issue
#{
mentioner
.
to_reference
}
"
expect
(
subject
.
note
).
to
eq
"
m
entioned in issue
#{
mentioner
.
to_reference
}
"
end
end
end
end
end
end
...
@@ -370,7 +370,11 @@ describe SystemNoteService, services: true do
...
@@ -370,7 +370,11 @@ describe SystemNoteService, services: true do
describe
'.cross_reference?'
do
describe
'.cross_reference?'
do
it
'is truthy when text begins with expected text'
do
it
'is truthy when text begins with expected text'
do
expect
(
described_class
.
cross_reference?
(
'Mentioned in something'
)).
to
be_truthy
expect
(
described_class
.
cross_reference?
(
'mentioned in something'
)).
to
be_truthy
end
it
'is truthy when text begins with legacy capitalized expected text'
do
expect
(
described_class
.
cross_reference?
(
'mentioned in something'
)).
to
be_truthy
end
end
it
'is falsey when text does not begin with expected text'
do
it
'is falsey when text does not begin with expected text'
do
...
@@ -433,6 +437,19 @@ describe SystemNoteService, services: true do
...
@@ -433,6 +437,19 @@ describe SystemNoteService, services: true do
expect
(
described_class
.
cross_reference_exists?
(
noteable
,
commit1
)).
expect
(
described_class
.
cross_reference_exists?
(
noteable
,
commit1
)).
to
be_falsey
to
be_falsey
end
end
context
'legacy capitalized cross reference'
do
before
do
# Mention issue (noteable) from commit0
system_note
=
described_class
.
cross_reference
(
noteable
,
commit0
,
author
)
system_note
.
update
(
note:
system_note
.
note
.
capitalize
)
end
it
'is truthy when already mentioned'
do
expect
(
described_class
.
cross_reference_exists?
(
noteable
,
commit0
)).
to
be_truthy
end
end
end
end
context
'commit from commit'
do
context
'commit from commit'
do
...
@@ -450,6 +467,19 @@ describe SystemNoteService, services: true do
...
@@ -450,6 +467,19 @@ describe SystemNoteService, services: true do
expect
(
described_class
.
cross_reference_exists?
(
commit1
,
commit0
)).
expect
(
described_class
.
cross_reference_exists?
(
commit1
,
commit0
)).
to
be_falsey
to
be_falsey
end
end
context
'legacy capitalized cross reference'
do
before
do
# Mention commit1 from commit0
system_note
=
described_class
.
cross_reference
(
commit0
,
commit1
,
author
)
system_note
.
update
(
note:
system_note
.
note
.
capitalize
)
end
it
'is truthy when already mentioned'
do
expect
(
described_class
.
cross_reference_exists?
(
commit0
,
commit1
)).
to
be_truthy
end
end
end
end
context
'commit with cross-reference from fork'
do
context
'commit with cross-reference from fork'
do
...
@@ -465,6 +495,18 @@ describe SystemNoteService, services: true do
...
@@ -465,6 +495,18 @@ describe SystemNoteService, services: true do
expect
(
described_class
.
cross_reference_exists?
(
noteable
,
commit2
)).
expect
(
described_class
.
cross_reference_exists?
(
noteable
,
commit2
)).
to
be
true
to
be
true
end
end
context
'legacy capitalized cross reference'
do
before
do
system_note
=
described_class
.
cross_reference
(
noteable
,
commit0
,
author2
)
system_note
.
update
(
note:
system_note
.
note
.
capitalize
)
end
it
'is true when a fork mentions an external issue'
do
expect
(
described_class
.
cross_reference_exists?
(
noteable
,
commit2
)).
to
be
true
end
end
end
end
end
end
...
@@ -498,7 +540,7 @@ describe SystemNoteService, services: true do
...
@@ -498,7 +540,7 @@ describe SystemNoteService, services: true do
it_behaves_like
'cross project mentionable'
it_behaves_like
'cross project mentionable'
it
'notifies about noteable being moved to'
do
it
'notifies about noteable being moved to'
do
expect
(
subject
.
note
).
to
match
/
M
oved to/
expect
(
subject
.
note
).
to
match
/
m
oved to/
end
end
end
end
...
@@ -508,7 +550,7 @@ describe SystemNoteService, services: true do
...
@@ -508,7 +550,7 @@ describe SystemNoteService, services: true do
it_behaves_like
'cross project mentionable'
it_behaves_like
'cross project mentionable'
it
'notifies about noteable being moved from'
do
it
'notifies about noteable being moved from'
do
expect
(
subject
.
note
).
to
match
/
M
oved from/
expect
(
subject
.
note
).
to
match
/
m
oved from/
end
end
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