summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/concerns/taskable.rb2
-rw-r--r--spec/services/issues/update_service_spec.rb19
2 files changed, 20 insertions, 1 deletions
diff --git a/app/models/concerns/taskable.rb b/app/models/concerns/taskable.rb
index de7588fea86..df2a9e3e84b 100644
--- a/app/models/concerns/taskable.rb
+++ b/app/models/concerns/taskable.rb
@@ -31,7 +31,7 @@ module Taskable
old_task = old_tasks[i]
next unless old_task
- new_task.source == new_task.source && new_task.complete? != old_task.complete?
+ new_task.source == old_task.source && new_task.complete? != old_task.complete?
end
end
diff --git a/spec/services/issues/update_service_spec.rb b/spec/services/issues/update_service_spec.rb
index adb3aa143ae..bc6a26416a2 100644
--- a/spec/services/issues/update_service_spec.rb
+++ b/spec/services/issues/update_service_spec.rb
@@ -121,6 +121,25 @@ describe Issues::UpdateService do
expect(note).to be_nil
end
end
+
+ context 'when a Task list with a completed item is totally replaced' do
+ before do
+ update_issue({ description: "- [ ] Task 1\n- [X] Task 2" })
+ update_issue({ description: "- [ ] One\n- [ ] Two\n- [ ] Three" })
+ end
+
+ it 'does not create a system note referencing the position the old item' do
+ note = find_note('Marked the task **Two** as incomplete')
+
+ expect(note).to be_nil
+ end
+
+ it 'should not generate a new note at all' do
+ expect {
+ update_issue({ description: "- [ ] One\n- [ ] Two\n- [ ] Three" })
+ }.not_to change { Note.count }
+ end
+ end
end
end