Skip to content
Snippets Groups Projects
Commit 0b3df2f1 authored by Riyad Preukschas's avatar Riyad Preukschas
Browse files

Add merge request note feature

parent 7971383d
No related branches found
No related tags found
1 merge request!1878Discussions (a.k.a. Grouped Comments)
Loading
Loading
@@ -35,8 +35,34 @@ Feature: Project Merge Requests
Then I should see merge request "Wiki Feature"
 
@javascript
Scenario: I comment merge request
Scenario: I comment on a merge request
Given I visit merge request page "Bug NS-04"
And I leave a comment like "XML attached"
Then I should see comment "XML attached"
 
@javascript
Scenario: I 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 switch to the diff tab
And I leave a comment like "Line is wrong" on line 185 of the first file
And I switch to the merge request's comments tab
Then I should see a discussion has started on line 185
@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
And I visit merge request page "Bug NS-05"
And I click on the first commit in the merge request
And I leave a comment like "Line is wrong" on line 185 of the first file
And I switch to the merge request's comments tab
Then I should see a discussion has started on commit bcf03b5de6c:L185
@javascript
Scenario: I comment on a commit in merge request
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 first commit in the merge request
And I leave a comment on the diff page
And I switch to the merge request's comments tab
Then I should see a discussion has started on commit bcf03b5de6c
Loading
Loading
@@ -4,77 +4,148 @@ class ProjectMergeRequests < Spinach::FeatureSteps
include SharedNote
include SharedPaths
 
Then 'I should see "Bug NS-04" in merge requests' do
page.should have_content "Bug NS-04"
Given 'I click link "New Merge Request"' do
click_link "New Merge Request"
end
 
And 'I should not see "Feature NS-03" in merge requests' do
page.should_not have_content "Feature NS-03"
Given 'I click link "Bug NS-04"' do
click_link "Bug NS-04"
end
Given 'I click link "All"' do
click_link "All"
end
 
Given 'I click link "Closed"' do
click_link "Closed"
end
 
Then 'I should see "Feature NS-03" in merge requests' do
page.should have_content "Feature NS-03"
Then 'I should see merge request "Wiki Feature"' do
page.should have_content "Wiki Feature"
end
 
And 'I should not see "Bug NS-04" in merge requests' do
page.should_not have_content "Bug NS-04"
Then 'I should see closed merge request "Bug NS-04"' do
mr = MergeRequest.find_by_title("Bug NS-04")
mr.closed.should be_true
page.should have_content "Closed by"
end
 
Given 'I click link "All"' do
click_link "All"
Then 'I should see merge request "Bug NS-04"' do
page.should have_content "Bug NS-04"
end
 
Given 'I click link "Bug NS-04"' do
click_link "Bug NS-04"
Then 'I should see "Bug NS-04" in merge requests' do
page.should have_content "Bug NS-04"
end
 
Then 'I should see merge request "Bug NS-04"' do
page.should have_content "Bug NS-04"
Then 'I should see "Feature NS-03" in merge requests' do
page.should have_content "Feature NS-03"
end
 
And 'I click link "Close"' do
click_link "Close"
And 'I should not see "Feature NS-03" in merge requests' do
page.should_not have_content "Feature NS-03"
end
 
Then 'I should see closed merge request "Bug NS-04"' do
mr = MergeRequest.find_by_title("Bug NS-04")
mr.closed.should be_true
page.should have_content "Closed by"
And 'I should not see "Bug NS-04" in merge requests' do
page.should_not have_content "Bug NS-04"
end
 
Given 'I click link "New Merge Request"' do
click_link "New Merge Request"
And 'I click link "Close"' do
click_link "Close"
end
 
And 'I submit new merge request "Wiki Feature"' do
fill_in "merge_request_title", :with => "Wiki Feature"
select "master", :from => "merge_request_source_branch"
select "stable", :from => "merge_request_target_branch"
fill_in "merge_request_title", with: "Wiki Feature"
select "master", from: "merge_request_source_branch"
select "stable", from: "merge_request_target_branch"
click_button "Save"
end
 
Then 'I should see merge request "Wiki Feature"' do
page.should have_content "Wiki Feature"
end
And 'project "Shop" have "Bug NS-04" open merge request' do
project = Project.find_by_name("Shop")
create(:merge_request,
:title => "Bug NS-04",
:project => project,
:author => project.users.first)
title: "Bug NS-04",
project: project,
author: project.users.first)
end
And 'project "Shop" have "Bug NS-05" open merge request with diffs inside' do
project = Project.find_by_name("Shop")
create(:merge_request_with_diffs,
title: "Bug NS-05",
project: project,
author: project.users.first)
end
 
And 'project "Shop" have "Feature NS-03" closed merge request' do
project = Project.find_by_name("Shop")
create(:merge_request,
:title => "Feature NS-03",
:project => project,
:author => project.users.first,
:closed => true)
title: "Feature NS-03",
project: project,
author: project.users.first,
closed: true)
end
And 'I switch to the diff tab' do
mr = MergeRequest.find_by_title("Bug NS-05")
visit diffs_project_merge_request_path(mr.project, mr)
end
And 'I switch to the merge request\'s comments tab' do
mr = MergeRequest.find_by_title("Bug NS-05")
visit project_merge_request_path(mr.project, mr)
end
And 'I click on the first commit in the merge request' do
mr = MergeRequest.find_by_title("Bug NS-05")
click_link mr.commits.first.short_id(8)
end
And 'I leave a comment on the diff page' do
within(:xpath, "//div[@class='note-form-holder']") do
fill_in "note_note", with: "One comment to rule them all"
click_button "Add Comment"
end
end
And 'I leave a comment like "Line is wrong" on line 185 of the first file' do
within(:xpath, "//div[@class='diff_file'][1]") do
click_link "add-diff-line-note-0_185_185"
end
within(:xpath, "//div[@class='line-note-form-holder']") do
fill_in "note_note", with: "Line is wrong"
click_button "Add Comment"
end
end
Then 'I should see a discussion has started on line 185' do
mr = MergeRequest.find_by_title("Bug NS-05")
first_commit = mr.commits.first
first_diff = mr.diffs.first
page.should have_content "#{current_user.name} started a discussion on this merge request diff"
page.should have_content "#{first_diff.b_path}:L185"
page.should have_content "Line is wrong"
end
Then 'I should see a discussion has started on commit bcf03b5de6c:L185' do
mr = MergeRequest.find_by_title("Bug NS-05")
first_commit = mr.commits.first
first_diff = mr.diffs.first
page.should have_content "#{current_user.name} started a discussion on commit"
page.should have_content first_commit.short_id(8)
page.should have_content "#{first_diff.b_path}:L185"
page.should have_content "Line is wrong"
end
Then 'I should see a discussion has started on commit bcf03b5de6c' do
mr = MergeRequest.find_by_title("Bug NS-05")
first_commit = mr.st_commits.first
first_diff = mr.diffs.first
page.should have_content "#{current_user.name} started a discussion on commit"
page.should have_content first_commit.short_id(8)
page.should have_content "One comment to rule them all"
page.should_not have_content "#{first_diff.b_path}:L185"
end
end
Loading
Loading
@@ -215,6 +215,11 @@ module SharedPaths
visit project_merge_request_path(mr.project, mr)
end
 
Given 'I visit merge request page "Bug NS-05"' do
mr = MergeRequest.find_by_title("Bug NS-05")
visit project_merge_request_path(mr.project, mr)
end
And 'I visit project "Shop" merge requests page' do
visit project_merge_requests_path(Project.find_by_name("Shop"))
end
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment