Commit 1f893022 authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre
Browse files

Remove note from MR discussion when deleting it in the changes tab

parent e2b6a462
......@@ -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
......
......@@ -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
......
......@@ -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"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment