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
1
Merge Requests
1
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
nexedi
gitlab-ce
Commits
2e7db162
Commit
2e7db162
authored
Jun 08, 2017
by
Jared Deckard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Only add a description change note when no tasks are updated
parent
9cf6adc1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
42 additions
and
10 deletions
+42
-10
app/services/issuable_base_service.rb
app/services/issuable_base_service.rb
+7
-5
spec/services/issues/update_service_spec.rb
spec/services/issues/update_service_spec.rb
+22
-5
spec/services/merge_requests/update_service_spec.rb
spec/services/merge_requests/update_service_spec.rb
+13
-0
No files found.
app/services/issuable_base_service.rb
View file @
2e7db162
...
...
@@ -313,11 +313,13 @@ class IssuableBaseService < BaseService
end
if
issuable
.
previous_changes
.
include?
(
'description'
)
create_description_change_note
(
issuable
)
end
if
issuable
.
previous_changes
.
include?
(
'description'
)
&&
issuable
.
tasks?
create_task_status_note
(
issuable
)
if
issuable
.
tasks?
&&
issuable
.
updated_tasks
.
any?
create_task_status_note
(
issuable
)
else
# TODO: Show this note if non-task content was modified.
# https://gitlab.com/gitlab-org/gitlab-ce/issues/33577
create_description_change_note
(
issuable
)
end
end
if
issuable
.
previous_changes
.
include?
(
'time_estimate'
)
...
...
spec/services/issues/update_service_spec.rb
View file @
2e7db162
...
...
@@ -31,6 +31,13 @@ describe Issues::UpdateService, services: true do
end
end
def
find_notes
(
action
)
issue
.
notes
.
joins
(
:system_note_metadata
)
.
where
(
system_note_metadata:
{
action:
action
})
end
def
update_issue
(
opts
)
described_class
.
new
(
project
,
user
,
opts
).
execute
(
issue
)
end
...
...
@@ -330,6 +337,9 @@ describe Issues::UpdateService, services: true do
expect
(
note1
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
description_notes
=
find_notes
(
'description'
)
expect
(
description_notes
.
length
).
to
eq
(
1
)
end
end
...
...
@@ -345,6 +355,9 @@ describe Issues::UpdateService, services: true do
expect
(
note1
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
description_notes
=
find_notes
(
'description'
)
expect
(
description_notes
.
length
).
to
eq
(
1
)
end
end
...
...
@@ -354,10 +367,12 @@ describe Issues::UpdateService, services: true do
update_issue
(
description:
"- [x] Task 1
\n
- [ ] Task 3
\n
- [ ] Task 2"
)
end
it
'does not create a system note'
do
note
=
find_note
(
'marked the task **Task 2** as incomplete'
)
it
'does not create a system note for the task'
do
task_note
=
find_note
(
'marked the task **Task 2** as incomplete'
)
description_notes
=
find_notes
(
'description'
)
expect
(
note
).
to
be_nil
expect
(
task_note
).
to
be_nil
expect
(
description_notes
.
length
).
to
eq
(
2
)
end
end
...
...
@@ -368,9 +383,11 @@ describe Issues::UpdateService, services: true do
end
it
'does not create a system note referencing the position the old item'
do
note
=
find_note
(
'marked the task **Two** as incomplete'
)
task_note
=
find_note
(
'marked the task **Two** as incomplete'
)
description_notes
=
find_notes
(
'description'
)
expect
(
note
).
to
be_nil
expect
(
task_note
).
to
be_nil
expect
(
description_notes
.
length
).
to
eq
(
2
)
end
it
'does not generate a new note at all'
do
...
...
spec/services/merge_requests/update_service_spec.rb
View file @
2e7db162
...
...
@@ -30,6 +30,13 @@ describe MergeRequests::UpdateService, services: true do
end
end
def
find_notes
(
action
)
@merge_request
.
notes
.
joins
(
:system_note_metadata
)
.
where
(
system_note_metadata:
{
action:
action
})
end
def
update_merge_request
(
opts
)
@merge_request
=
MergeRequests
::
UpdateService
.
new
(
project
,
user
,
opts
).
execute
(
merge_request
)
@merge_request
.
reload
...
...
@@ -394,6 +401,9 @@ describe MergeRequests::UpdateService, services: true do
expect
(
note1
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
description_notes
=
find_notes
(
'description'
)
expect
(
description_notes
.
length
).
to
eq
(
1
)
end
end
...
...
@@ -409,6 +419,9 @@ describe MergeRequests::UpdateService, services: true do
expect
(
note1
).
not_to
be_nil
expect
(
note2
).
not_to
be_nil
description_notes
=
find_notes
(
'description'
)
expect
(
description_notes
.
length
).
to
eq
(
1
)
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