From ab8c71de4e57e9715d631a52d08de4e9ce87d649 Mon Sep 17 00:00:00 2001
From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Date: Wed, 5 Aug 2015 11:03:41 +0200
Subject: [PATCH] Fix merge request creation without branch selected

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
---
 app/services/merge_requests/build_service.rb       | 9 +++++++--
 spec/services/merge_requests/merge_service_spec.rb | 5 -----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/app/services/merge_requests/build_service.rb b/app/services/merge_requests/build_service.rb
index 3ff5374b3..a9b29f965 100644
--- a/app/services/merge_requests/build_service.rb
+++ b/app/services/merge_requests/build_service.rb
@@ -12,8 +12,13 @@ module MergeRequests
       merge_request.target_project ||= (project.forked_from_project || project)
       merge_request.target_branch ||= merge_request.target_project.default_branch
 
-      unless merge_request.target_branch && merge_request.source_branch
-        return build_failed(merge_request, nil)
+      if merge_request.target_branch.blank? || merge_request.source_branch.blank?
+        message =
+          if params[:source_branch] || params[:target_branch]
+            "You must select source and target branch"
+          end
+
+        return build_failed(merge_request, message)
       end
 
       compare_result = CompareService.new.execute(
diff --git a/spec/services/merge_requests/merge_service_spec.rb b/spec/services/merge_requests/merge_service_spec.rb
index 0a25fb12f..7b564d34d 100644
--- a/spec/services/merge_requests/merge_service_spec.rb
+++ b/spec/services/merge_requests/merge_service_spec.rb
@@ -24,11 +24,6 @@ describe MergeRequests::MergeService do
       it { expect(merge_request).to be_valid }
       it { expect(merge_request).to be_merged }
 
-      it 'should execute hooks with merge action' do
-        expect(service).to have_received(:execute_hooks).
-                               with(merge_request, 'merge')
-      end
-
       it 'should send email to user2 about merge of new merge_request' do
         email = ActionMailer::Base.deliveries.last
         expect(email.to.first).to eq(user2.email)
-- 
2.30.9