Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-07-14 03:00:46 +0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-07-15 19:47:15 +0300
commit66c4ed6165d5e895ee802d9745205a05dfca9986 (patch)
tree565310769bf87a1218ad8de358c6812a30bc45a3
parent8b7932c21951de172d531ab8a3e9506c98db7483 (diff)
Fix mentioned users list on diff notes
-rw-r--r--app/models/concerns/note_on_diff.rb3
-rw-r--r--spec/services/todo_service_spec.rb18
2 files changed, 21 insertions, 0 deletions
diff --git a/app/models/concerns/note_on_diff.rb b/app/models/concerns/note_on_diff.rb
index 2785fbb21c9..7b6a28ccf3c 100644
--- a/app/models/concerns/note_on_diff.rb
+++ b/app/models/concerns/note_on_diff.rb
@@ -4,6 +4,9 @@ module NoteOnDiff
NUMBER_OF_TRUNCATED_DIFF_LINES = 16
included do
+ attr_mentionable :note, pipeline: :note
+ participant :author
+
delegate :blob, :highlighted_diff_lines, to: :diff_file, allow_nil: true
end
diff --git a/spec/services/todo_service_spec.rb b/spec/services/todo_service_spec.rb
index b4522536724..83c18a35472 100644
--- a/spec/services/todo_service_spec.rb
+++ b/spec/services/todo_service_spec.rb
@@ -435,6 +435,24 @@ describe TodoService, services: true do
should_create_todo(user: author, target: mr_unassigned, action: Todo::MARKED)
end
end
+
+ describe '#new_note' do
+ let(:mention) { john_doe.to_reference }
+ let(:diff_note_on_merge_request) { create(:diff_note_on_merge_request, project: project, noteable: mr_unassigned, author: author, note: "Hey #{mention}") }
+ let(:legacy_diff_note_on_merge_request) { create(:legacy_diff_note_on_merge_request, project: project, noteable: mr_unassigned, author: author, note: "Hey #{mention}") }
+
+ it 'creates a todo for mentioned user on new diff note' do
+ service.new_note(diff_note_on_merge_request, author)
+
+ should_create_todo(user: john_doe, target: mr_unassigned, author: author, action: Todo::MENTIONED, note: diff_note_on_merge_request)
+ end
+
+ it 'creates a todo for mentioned user on legacy diff note' do
+ service.new_note(legacy_diff_note_on_merge_request, author)
+
+ should_create_todo(user: john_doe, target: mr_unassigned, author: author, action: Todo::MENTIONED, note: legacy_diff_note_on_merge_request)
+ end
+ end
end
it 'updates cached counts when a todo is created' do