summaryrefslogtreecommitdiff
path: root/spec/services/notes/update_service_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/notes/update_service_spec.rb')
-rw-r--r--spec/services/notes/update_service_spec.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/services/notes/update_service_spec.rb b/spec/services/notes/update_service_spec.rb
index 902fd9958f8..000f3d26efa 100644
--- a/spec/services/notes/update_service_spec.rb
+++ b/spec/services/notes/update_service_spec.rb
@@ -64,6 +64,40 @@ RSpec.describe Notes::UpdateService do
end.to change { counter.unique_events(event_names: event, start_date: 1.day.ago, end_date: 1.day.from_now) }.by(1)
end
+ context 'when note text was changed' do
+ let!(:note) { create(:note, project: project, noteable: issue, author: user2, note: "Old note #{user3.to_reference}") }
+ let(:edit_note_text) { update_note({ note: 'new text' }) }
+
+ it 'update last_edited_at' do
+ travel_to(1.day.from_now) do
+ expect { edit_note_text }.to change { note.reload.last_edited_at }
+ end
+ end
+
+ it 'update updated_by' do
+ travel_to(1.day.from_now) do
+ expect { edit_note_text }.to change { note.reload.updated_by }
+ end
+ end
+ end
+
+ context 'when note text was not changed' do
+ let!(:note) { create(:note, project: project, noteable: issue, author: user2, note: "Old note #{user3.to_reference}") }
+ let(:does_not_edit_note_text) { update_note({}) }
+
+ it 'does not update last_edited_at' do
+ travel_to(1.day.from_now) do
+ expect { does_not_edit_note_text }.not_to change { note.reload.last_edited_at }
+ end
+ end
+
+ it 'does not update updated_by' do
+ travel_to(1.day.from_now) do
+ expect { does_not_edit_note_text }.not_to change { note.reload.updated_by }
+ end
+ end
+ end
+
context 'when the notable is a merge request' do
let(:merge_request) { create(:merge_request, source_project: project) }
let(:note) { create(:note, project: project, noteable: merge_request, author: user, note: "Old note #{user2.to_reference}") }