Commit 0a013adc4da162512b75d5ed20c338392af7577b
1 parent
532809a1
Exists in
master
and in
4 other branches
Fix an issue with edits sending user back to @source_project
-Form was for @source_project rather then @project. -add spinach test for edit submission on forked project Change-Id: I807a5077608b7e910f4bc83c5d3e82c378f70a9e
Showing
4 changed files
with
27 additions
and
4 deletions
Show diff stats
app/controllers/projects/merge_requests_controller.rb
| ... | ... | @@ -54,10 +54,8 @@ class Projects::MergeRequestsController < Projects::ApplicationController |
| 54 | 54 | end |
| 55 | 55 | |
| 56 | 56 | def create |
| 57 | - @merge_request = @project.merge_requests.new(params[:merge_request]) | |
| 57 | + @merge_request = MergeRequest.new(params[:merge_request]) | |
| 58 | 58 | @merge_request.author = current_user |
| 59 | - @merge_request.source_project_id = params[:merge_request][:source_project_id].to_i | |
| 60 | - @merge_request.target_project_id = params[:merge_request][:target_project_id].to_i | |
| 61 | 59 | @target_branches ||= [] |
| 62 | 60 | if @merge_request.save |
| 63 | 61 | @merge_request.reload_code | ... | ... |
app/views/projects/merge_requests/_form.html.haml
| 1 | -= form_for [@source_project, @merge_request], html: { class: "#{controller.action_name}-merge-request form-horizontal" } do |f| | |
| 1 | += form_for [@project, @merge_request], html: { class: "#{controller.action_name}-merge-request form-horizontal" } do |f| | |
| 2 | 2 | -if @merge_request.errors.any? |
| 3 | 3 | .alert.alert-error |
| 4 | 4 | %ul | ... | ... |
features/project/forked_merge_requests.feature
| ... | ... | @@ -37,6 +37,9 @@ Feature: Project Forked Merge Requests |
| 37 | 37 | And I should see merge request "Merge Request On Forked Project" |
| 38 | 38 | And I click link edit "Merge Request On Forked Project" |
| 39 | 39 | Then I see the edit page prefilled for "Merge Request On Forked Project" |
| 40 | + And I update the merge request title | |
| 41 | + And I save the merge request | |
| 42 | + Then I should see the edited merge request | |
| 40 | 43 | |
| 41 | 44 | @javascript |
| 42 | 45 | Scenario: I cannot submit an invalid merge request | ... | ... |
features/steps/project/project_forked_merge_requests.rb
| ... | ... | @@ -100,6 +100,28 @@ class ProjectForkedMergeRequests < Spinach::FeatureSteps |
| 100 | 100 | verify_commit_link(".mr_source_commit",@forked_project) |
| 101 | 101 | end |
| 102 | 102 | |
| 103 | + And 'I update the merge request title' do | |
| 104 | + fill_in "merge_request_title", with: "An Edited Forked Merge Request" | |
| 105 | + end | |
| 106 | + | |
| 107 | + And 'I save the merge request' do | |
| 108 | + click_button "Save changes" | |
| 109 | + end | |
| 110 | + | |
| 111 | + Then 'I should see the edited merge request' do | |
| 112 | + page.should have_content "An Edited Forked Merge Request" | |
| 113 | + @project.merge_requests.size.should >= 1 | |
| 114 | + @merge_request = @project.merge_requests.last | |
| 115 | + current_path.should == project_merge_request_path(@project, @merge_request) | |
| 116 | + @merge_request.source_project.should == @forked_project | |
| 117 | + @merge_request.source_branch.should == "master" | |
| 118 | + @merge_request.target_branch.should == "stable" | |
| 119 | + page.should have_content @forked_project.path_with_namespace | |
| 120 | + page.should have_content @project.path_with_namespace | |
| 121 | + page.should have_content @merge_request.source_branch | |
| 122 | + page.should have_content @merge_request.target_branch | |
| 123 | + end | |
| 124 | + | |
| 103 | 125 | Then 'I should see last push widget' do |
| 104 | 126 | page.should have_content "You pushed to new_design" |
| 105 | 127 | page.should have_link "Create Merge Request" | ... | ... |