summaryrefslogtreecommitdiff
path: root/spec/features/notes_on_merge_requests_spec.rb
diff options
context:
space:
mode:
authorIzaak Alpert <ihalpert@blackberry.com>2013-04-25 10:15:33 -0400
committerIzaak Alpert <ialpert@blackberry.com>2013-07-17 22:41:30 -0400
commit3d7194f0112da12e8732df9ffe8b34fe7d0a9f6b (patch)
tree9b3c68c04b5ead5e35456595a07453b036b2dbc8 /spec/features/notes_on_merge_requests_spec.rb
parentfd033671933fcc0f472480d98c907aefde357416 (diff)
downloadgitlab-ce-3d7194f0112da12e8732df9ffe8b34fe7d0a9f6b.tar.gz
Merge Request on forked projects
The good: - You can do a merge request for a forked commit and it will merge properly (i.e. it does work). - Push events take into account merge requests on forked projects - Tests around merge_actions now present, spinach, and other rspec tests - Satellites now clean themselves up rather then recreate The questionable: - Events only know about target projects - Project's merge requests only hold on to MR's where they are the target - All operations performed in the satellite The bad: - Duplication between project's repositories and satellites (e.g. commits_between) (for reference: http://feedback.gitlab.com/forums/176466-general/suggestions/3456722-merge-requests-between-projects-repos) Fixes: Make test repos/satellites only create when needed -Spinach/Rspec now only initialize test directory, and setup stubs (things that are relatively cheap) -project_with_code, source_project_with_code, and target_project_with_code now create/destroy their repos individually -fixed remote removal -How to merge renders properly -Update emails to show project/branches -Edit MR doesn't set target branch -Fix some failures on editing/creating merge requests, added a test -Added back a test around merge request observer -Clean up project_transfer_spec, Remove duplicate enable/disable observers -Ensure satellite lock files are cleaned up, Attempted to add some testing around these as well -Signifant speed ups for tests -Update formatting ordering in notes_on_merge_requests -Remove wiki schema update Fixes for search/search results -Search results was using by_project for a list of projects, updated this to use in_projects -updated search results to reference the correct (target) project -udpated search results to print both sides of the merge request Change-Id: I19407990a0950945cc95d62089cbcc6262dab1a8
Diffstat (limited to 'spec/features/notes_on_merge_requests_spec.rb')
-rw-r--r--spec/features/notes_on_merge_requests_spec.rb72
1 files changed, 36 insertions, 36 deletions
diff --git a/spec/features/notes_on_merge_requests_spec.rb b/spec/features/notes_on_merge_requests_spec.rb
index 4aa8937926c..34e07e72056 100644
--- a/spec/features/notes_on_merge_requests_spec.rb
+++ b/spec/features/notes_on_merge_requests_spec.rb
@@ -2,8 +2,8 @@ require 'spec_helper'
describe "On a merge request", js: true do
let!(:project) { create(:project_with_code) }
- let!(:merge_request) { create(:merge_request, project: project) }
- let!(:note) { create(:note_on_merge_request_with_attachment, project: project) }
+ let!(:merge_request) { create(:merge_request, source_project: project, target_project: project) }
+ let!(:note) { create(:note_on_merge_request_with_attachment, source_project: project, target_project: project) }
before do
login_as :user
@@ -62,7 +62,7 @@ describe "On a merge request", js: true do
it 'should be added and form reset' do
should have_content("This is awsome!")
- within(".js-main-target-form") { should have_no_field("note[note]", with: "This is awesome!") }
+ within(".js-main-target-form") { should have_no_field("note[note]", with: "This is awesome!") }
within(".js-main-target-form") { should have_css(".js-note-preview", visible: false) }
within(".js-main-target-form") { should have_css(".js-note-text", visible: true) }
end
@@ -135,8 +135,8 @@ describe "On a merge request", js: true do
end
describe "On a merge request diff", js: true, focus: true do
- let!(:project) { create(:project_with_code) }
- let!(:merge_request) { create(:merge_request_with_diffs, project: project) }
+ let!(:project) { create(:source_project_with_code) }
+ let!(:merge_request) { create(:merge_request_with_diffs, source_project: project, target_project: project) }
before do
login_as :user
@@ -144,6 +144,7 @@ describe "On a merge request diff", js: true, focus: true do
visit diffs_project_merge_request_path(project, merge_request)
end
+
subject { page }
describe "when adding a note" do
@@ -205,13 +206,13 @@ describe "On a merge request diff", js: true, focus: true do
# TODO: fix
#it 'should check if previews were rendered separately' do
- #within("tr[id='4735dfc552ad7bf15ca468adc3cad9d05b624490_185_185'] + .js-temp-notes-holder") do
- #should have_css(".js-note-preview", text: "One comment on line 185")
- #end
+ #within("tr[id='4735dfc552ad7bf15ca468adc3cad9d05b624490_185_185'] + .js-temp-notes-holder") do
+ #should have_css(".js-note-preview", text: "One comment on line 185")
+ #end
- #within("tr[id='342e16cbbd482ac2047dc679b2749d248cc1428f_18_17'] + .js-temp-notes-holder") do
- #should have_css(".js-note-preview", text: "Another comment on line 17")
- #end
+ #within("tr[id='342e16cbbd482ac2047dc679b2749d248cc1428f_18_17'] + .js-temp-notes-holder") do
+ #should have_css(".js-note-preview", text: "Another comment on line 17")
+ #end
#end
end
@@ -238,39 +239,38 @@ describe "On a merge request diff", js: true, focus: true do
# TODO: fix
#it "should remove last note of a discussion" do
- #within("tr[id='342e16cbbd482ac2047dc679b2749d248cc1428f_18_17'] + .notes-holder") do
- #find(".js-note-delete").click
- #end
-
- #should_not have_css(".note_holder")
+ # within("tr[id='342e16cbbd482ac2047dc679b2749d248cc1428f_18_17'] + .notes-holder") do
+ # find(".js-note-delete").click
+ # end
+ # should_not have_css(".note_holder")
#end
end
end
# TODO: fix
#describe "when replying to a note" do
- #before do
- ## create first note
- #find('a[data-line-code="4735dfc552ad7bf15ca468adc3cad9d05b624490_184_184"]').click
+ #before do
+ ## create first note
+ # find('a[data-line-code="4735dfc552ad7bf15ca468adc3cad9d05b624490_184_184"]').click
- #within(".js-temp-notes-holder") do
- #fill_in "note[note]", with: "One comment on line 184"
- #click_button("Add Comment")
- #end
+ # within(".js-temp-notes-holder") do
+ # fill_in "note[note]", with: "One comment on line 184"
+ # click_button("Add Comment")
+ #end
- #within(".js-temp-notes-holder") do
- #find(".js-discussion-reply-button").click
- #fill_in "note[note]", with: "An additional comment in reply"
- #click_button("Add Comment")
- #end
- #end
-
- #it 'should be inserted and form removed from reply' do
- #should have_content("An additional comment in reply")
- #within(".notes_holder") { should have_css(".note", count: 2) }
- #within(".notes_holder") { should have_no_css("form") }
- #within(".notes_holder") { should have_link("Reply") }
- #end
+ # within(".js-temp-notes-holder") do
+ # find(".js-discussion-reply-button").click
+ # fill_in "note[note]", with: "An additional comment in reply"
+ # click_button("Add Comment")
+ # end
+ #end
+
+ #it 'should be inserted and form removed from reply' do
+ # should have_content("An additional comment in reply")
+ # within(".notes_holder") { should have_css(".note", count: 2) }
+ # within(".notes_holder") { should have_no_css("form") }
+ # within(".notes_holder") { should have_link("Reply") }
+ # end
#end
end