summaryrefslogtreecommitdiff
path: root/spec/services/merge_requests/build_service_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/merge_requests/build_service_spec.rb')
-rw-r--r--spec/services/merge_requests/build_service_spec.rb34
1 files changed, 26 insertions, 8 deletions
diff --git a/spec/services/merge_requests/build_service_spec.rb b/spec/services/merge_requests/build_service_spec.rb
index c9a668994eb..1894d8c8d0e 100644
--- a/spec/services/merge_requests/build_service_spec.rb
+++ b/spec/services/merge_requests/build_service_spec.rb
@@ -21,15 +21,20 @@ describe MergeRequests::BuildService do
let(:commit_2) { double(:commit_2, sha: 'f00ba7', safe_message: 'This is a bad commit message!') }
let(:commits) { nil }
+ let(:params) do
+ {
+ description: description,
+ source_branch: source_branch,
+ target_branch: target_branch,
+ source_project: source_project,
+ target_project: target_project,
+ milestone_id: milestone_id,
+ label_ids: label_ids
+ }
+ end
+
let(:service) do
- described_class.new(project, user,
- description: description,
- source_branch: source_branch,
- target_branch: target_branch,
- source_project: source_project,
- target_project: target_project,
- milestone_id: milestone_id,
- label_ids: label_ids)
+ described_class.new(project, user, params)
end
before do
@@ -56,6 +61,19 @@ describe MergeRequests::BuildService do
merge_request
end
+ it 'does not assign force_remove_source_branch' do
+ expect(merge_request.force_remove_source_branch?).to be_falsey
+ end
+
+ context 'with force_remove_source_branch parameter' do
+ let(:mr_params) { params.merge(force_remove_source_branch: '1') }
+ let(:merge_request) { described_class.new(project, user, mr_params).execute }
+
+ it 'assigns force_remove_source_branch' do
+ expect(merge_request.force_remove_source_branch?).to be_truthy
+ end
+ end
+
context 'missing source branch' do
let(:source_branch) { '' }