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" | ... | ... |