Fix bug that happened when replacing the Task list. #2296

REF: https://gitlab.com/gitlab-org/gitlab-ce/issues/2296#note_2724697
This commit is contained in:
Rubén Dávila 2015-11-20 13:58:45 -05:00
parent fa9f2dec0e
commit 3aabed3456
2 changed files with 20 additions and 1 deletions

View File

@ -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

View File

@ -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