diff options
author | Izaak Alpert <ihalpert@blackberry.com> | 2013-04-25 10:15:33 -0400 |
---|---|---|
committer | Izaak Alpert <ialpert@blackberry.com> | 2013-07-17 22:41:30 -0400 |
commit | 3d7194f0112da12e8732df9ffe8b34fe7d0a9f6b (patch) | |
tree | 9b3c68c04b5ead5e35456595a07453b036b2dbc8 /spec/features/notes_on_merge_requests_spec.rb | |
parent | fd033671933fcc0f472480d98c907aefde357416 (diff) | |
download | gitlab-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.rb | 72 |
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 |