Commit 0a013adc4da162512b75d5ed20c338392af7577b

Authored by Izaak Alpert
1 parent 532809a1

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