Merge branch 'fix-delete-notes-on-merge-request-diff' into 'master'

Fix delete notes on merge request diff

Fixes #3971

See merge request !2061
This commit is contained in:
Robert Speicher 2015-12-11 12:49:55 -05:00
commit 48eccdb2fc
4 changed files with 46 additions and 8 deletions

View file

@ -45,6 +45,7 @@ v 8.3.0 (unreleased)
- Accept COPYING,COPYING.lesser, and licence as license file (Zeger-Jan van de Weg)
- Fix emoji aliases problem
- Fix award-emojis Flash alert's width
- Fix deleting notes on a merge request diff
v 8.2.3
- Fix application settings cache not expiring after changes (Stan Hu)

View file

@ -350,18 +350,26 @@ class @Notes
###
removeNote: ->
note = $(this).closest(".note")
notes = note.closest(".notes")
note_id = note.attr('id')
# check if this is the last note for this line
if notes.find(".note").length is 1
$('.note[id="' + note_id + '"]').each ->
note = $(this)
notes = note.closest(".notes")
count = notes.closest(".notes_holder").find(".discussion-notes-count")
# for discussions
notes.closest(".discussion").remove()
# check if this is the last note for this line
if notes.find(".note").length is 1
# for diff lines
notes.closest("tr").remove()
# for discussions
notes.closest(".discussion").remove()
note.remove()
# for diff lines
notes.closest("tr").remove()
else
# update notes count
count.get(0).lastChild.nodeValue = " #{notes.children().length - 1}"
note.remove()
###
Called in response to clicking the delete attachment link

View file

@ -94,6 +94,16 @@ Feature: Project Merge Requests
Then I should not see a diff comment saying "Line is wrong"
And I should see a diff comment saying "Typo, please fix"
@javascript
Scenario: I delete a comment on a merge request diff
Given project "Shop" have "Bug NS-05" open merge request with diffs inside
And I visit merge request page "Bug NS-05"
And I click on the Changes tab
And I leave a comment like "Line is wrong" on diff
And I delete the comment "Line is wrong" on diff
And I click on the Discussion tab
Then I should not see any discussion
@javascript
Scenario: I comment on a line of a commit in merge request
Given project "Shop" have "Bug NS-05" open merge request with diffs inside

View file

@ -211,6 +211,25 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
end
end
step 'I delete the comment "Line is wrong" on diff' do
page.within('.diff-file:nth-of-type(5) .note') do
find('.js-note-delete').click
end
end
step 'I click on the Discussion tab' do
page.within '.merge-request-tabs' do
click_link 'Discussion'
end
# Waits for load
expect(page).to have_css('.tab-content #notes.active')
end
step 'I should not see any discussion' do
expect(page).not_to have_css('.notes .discussion')
end
step 'I should see a discussion has started on diff' do
page.within(".notes .discussion") do
page.should have_content "#{current_user.name} started a discussion"