summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/projects/merge_requests_controller.rb1
-rw-r--r--app/models/merge_request.rb5
-rw-r--r--app/services/merge_requests/create_service.rb1
-rw-r--r--spec/factories/merge_requests.rb6
-rw-r--r--spec/models/merge_request_diff_spec.rb3
5 files changed, 9 insertions, 7 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index a886af713d5..33188e88385 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -88,7 +88,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController
@merge_request.merge_request_diff
end
-
respond_to do |format|
format.html { define_discussion_vars }
format.json { render json: { html: view_to_html_string("projects/merge_requests/show/_diffs") } }
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 6d36a5ba288..85048f928dc 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -15,7 +15,6 @@ class MergeRequest < ActiveRecord::Base
serialize :merge_params, Hash
- before_validation :ensure_merge_request_diff, on: :create, unless: :importing?
after_update :update_merge_request_diff
delegate :commits, :real_size, to: :merge_request_diff, prefix: nil
@@ -283,10 +282,6 @@ class MergeRequest < ActiveRecord::Base
end
end
- def ensure_merge_request_diff
- merge_request_diff || merge_request_diffs.build
- end
-
def create_merge_request_diff
merge_request_diffs.create
end
diff --git a/app/services/merge_requests/create_service.rb b/app/services/merge_requests/create_service.rb
index 96a25330af1..553d7443c86 100644
--- a/app/services/merge_requests/create_service.rb
+++ b/app/services/merge_requests/create_service.rb
@@ -16,6 +16,7 @@ module MergeRequests
merge_request.target_project ||= source_project
merge_request.author = current_user
merge_request.merge_params['force_remove_source_branch'] = force_remove_source_branch
+ merge_request.merge_request_diffs.build
if merge_request.save
merge_request.update_attributes(label_ids: label_params)
diff --git a/spec/factories/merge_requests.rb b/spec/factories/merge_requests.rb
index c6a08d78b78..05851c49497 100644
--- a/spec/factories/merge_requests.rb
+++ b/spec/factories/merge_requests.rb
@@ -68,5 +68,11 @@ FactoryGirl.define do
factory :closed_merge_request, traits: [:closed]
factory :reopened_merge_request, traits: [:reopened]
factory :merge_request_with_diffs, traits: [:with_diffs]
+
+ after :create do |merge_request|
+ unless merge_request.merge_request_diff
+ merge_request.create_merge_request_diff
+ end
+ end
end
end
diff --git a/spec/models/merge_request_diff_spec.rb b/spec/models/merge_request_diff_spec.rb
index 16bba82181b..0a55515e8c6 100644
--- a/spec/models/merge_request_diff_spec.rb
+++ b/spec/models/merge_request_diff_spec.rb
@@ -11,9 +11,10 @@ describe MergeRequestDiff, models: true do
end
describe 'create new record' do
- subject { create(:merge_request) }
+ subject { create(:merge_request).merge_request_diff }
it { expect(subject).to be_valid }
+ it { expect(subject).to be_persisted }
it { expect(subject.commits.count).to eq(5) }
it { expect(subject.diffs.count).to eq(8) }
end