diff options
author | Rémy Coutable <remy@rymai.me> | 2016-01-19 18:17:56 +0100 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-01-19 18:22:01 +0100 |
commit | 491c2248c05ee9e93eff34f0126802add0e05565 (patch) | |
tree | f1e206cbacb8f5bea351c96fe143fead3e19a9c4 /features | |
parent | c8d66514efcf946f847cb3120b271d8f0f0327f2 (diff) | |
download | gitlab-ce-491c2248c05ee9e93eff34f0126802add0e05565.tar.gz |
Fix diff comments loaded by AJAX to load comment with diff in discussion tab
This commits also fixes two minor issues:
- Ensure notes that the current user is not allowed to see are not
returned in the AJAX notes loading
- Ensure the notes counter badge is decremented of 1 instead of 2
Diffstat (limited to 'features')
-rw-r--r-- | features/project/merge_requests.feature | 11 | ||||
-rw-r--r-- | features/steps/project/merge_requests.rb | 31 |
2 files changed, 42 insertions, 0 deletions
diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature index aa9078b878f..1be5ddcd7e4 100644 --- a/features/project/merge_requests.feature +++ b/features/project/merge_requests.feature @@ -83,6 +83,15 @@ Feature: Project Merge Requests And I leave a comment like "Line is wrong" on diff And I switch to the merge request's comments tab Then I should see a discussion has started on diff + And I should see a badge of "1" next to the discussion link + + @javascript + Scenario: I see a new comment on merge request diff from another user in the discussion tab + Given project "Shop" have "Bug NS-05" open merge request with diffs inside + And I visit merge request page "Bug NS-05" + And user "John Doe" leaves a comment like "Line is wrong" on diff + Then I should see a discussion by user "John Doe" has started on diff + And I should see a badge of "1" next to the discussion link @javascript Scenario: I edit a comment on a merge request diff @@ -100,9 +109,11 @@ Feature: Project Merge Requests 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 should see a badge of "1" next to the discussion link And I delete the comment "Line is wrong" on diff And I click on the Discussion tab Then I should not see any discussion + And I should see a badge of "0" next to the discussion link @javascript Scenario: I comment on a line of a commit in merge request diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb index be993d11093..c0b9984997c 100644 --- a/features/steps/project/merge_requests.rb +++ b/features/steps/project/merge_requests.rb @@ -181,6 +181,15 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps leave_comment "Line is wrong" end + step 'user "John Doe" leaves a comment like "Line is wrong" on diff' do + mr = MergeRequest.find_by(title: "Bug NS-05") + create(:note_on_merge_request_diff, project: project, + noteable_id: mr.id, + author: user_exists("John Doe"), + line_code: sample_commit.line_code, + note: 'Line is wrong') + end + step 'I leave a comment like "Line is wrong" on diff in commit' do click_diff_line(sample_commit.line_code) leave_comment "Line is wrong" @@ -238,6 +247,22 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps end end + step 'I should see a discussion by user "John Doe" has started on diff' do + page.within(".notes .discussion") do + page.should have_content "#{user_exists("John Doe").name} started a discussion" + page.should have_content sample_commit.line_code_path + page.should have_content "Line is wrong" + end + end + + step 'I should see a badge of "1" next to the discussion link' do + expect_discussion_badge_to_have_counter("1") + end + + step 'I should see a badge of "0" next to the discussion link' do + expect_discussion_badge_to_have_counter("0") + end + step 'I should see a discussion has started on commit diff' do page.within(".notes .discussion") do page.should have_content "#{current_user.name} started a discussion on commit" @@ -444,4 +469,10 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps def have_visible_content (text) have_css("*", text: text, visible: true) end + + def expect_discussion_badge_to_have_counter(value) + page.within(".notes-tab .badge") do + page.should have_content value + end + end end |