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
Tatuya Kamada
gitlab-ce
Commits
1a8f43ff
Commit
1a8f43ff
authored
Nov 24, 2016
by
Gabriel Gizotti
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
introduce MergeRequest#issues_mentioned_but_not_closing
parent
e52e3ab5
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
15 deletions
+46
-15
app/models/merge_request.rb
app/models/merge_request.rb
+16
-0
spec/models/merge_request_spec.rb
spec/models/merge_request_spec.rb
+30
-15
No files found.
app/models/merge_request.rb
View file @
1a8f43ff
...
...
@@ -568,6 +568,22 @@ class MergeRequest < ActiveRecord::Base
end
end
def
issues_mentioned_but_not_closing
(
current_user
=
self
.
author
)
issues
=
[]
if
target_branch
==
project
.
default_branch
messages
=
[
description
]
messages
.
concat
(
commits
.
map
(
&
:safe_message
))
if
merge_request_diff
ext
=
Gitlab
::
ReferenceExtractor
.
new
(
project
,
current_user
)
ext
.
analyze
(
messages
.
join
(
"
\n
"
))
issues
=
ext
.
issues
end
issues
-
closes_issues
end
def
target_project_path
if
target_project
target_project
.
path_with_namespace
...
...
spec/models/merge_request_spec.rb
View file @
1a8f43ff
...
...
@@ -252,7 +252,7 @@ describe MergeRequest, models: true do
end
end
describe
'detection of issues
to be closed
'
do
describe
'detection of issues'
do
let
(
:issue0
)
{
create
:issue
,
project:
subject
.
project
}
let
(
:issue1
)
{
create
:issue
,
project:
subject
.
project
}
...
...
@@ -265,6 +265,7 @@ describe MergeRequest, models: true do
allow
(
subject
).
to
receive
(
:commits
).
and_return
([
commit0
,
commit1
,
commit2
])
end
describe
'detection of issues to be closed'
do
it
'accesses the set of issues that will be closed on acceptance'
do
allow
(
subject
.
project
).
to
receive
(
:default_branch
).
and_return
(
subject
.
target_branch
)
...
...
@@ -283,7 +284,9 @@ describe MergeRequest, models: true do
it
'detects issues mentioned in the description'
do
issue2
=
create
(
:issue
,
project:
subject
.
project
)
subject
.
description
=
"Closes
#{
issue2
.
to_reference
}
"
allow
(
subject
.
project
).
to
receive
(
:default_branch
).
and_return
(
subject
.
target_branch
)
...
...
@@ -291,6 +294,18 @@ describe MergeRequest, models: true do
end
end
it
'detects issues mentioned but not closed'
do
mentioned_issue
=
create
(
:issue
,
project:
subject
.
project
)
subject
.
description
=
"Is related to
#{
mentioned_issue
.
to_reference
}
"
allow
(
subject
.
project
).
to
receive
(
:default_branch
).
and_return
(
subject
.
target_branch
)
expect
(
subject
.
issues_mentioned_but_not_closing
).
to
match_array
([
mentioned_issue
])
end
end
describe
"#work_in_progress?"
do
[
'WIP '
,
'WIP:'
,
'WIP: '
,
'[WIP]'
,
'[WIP] '
,
' [WIP] WIP [WIP] WIP: WIP '
].
each
do
|
wip_prefix
|
it
"detects the '
#{
wip_prefix
}
' prefix"
do
...
...
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