Commit 699312da authored by Dmytro Zaporozhets's avatar Dmytro Zaporozhets

Merge branch '211887-dedupe-merge-request-create-service-specs' into 'master'

De-duplicate EE merge request create service specs

Closes #211887

See merge request gitlab-org/gitlab!28608
parents 05ab5d25 9956117c
......@@ -217,12 +217,10 @@ Gitlab/DuplicateSpecLocation:
- ee/spec/helpers/auth_helper_spec.rb
- ee/spec/lib/gitlab/gl_repository_spec.rb
- ee/spec/models/namespace_spec.rb
- ee/spec/services/merge_requests/create_service_spec.rb
- ee/spec/services/merge_requests/refresh_service_spec.rb
- ee/spec/services/merge_requests/update_service_spec.rb
- ee/spec/helpers/ee/auth_helper_spec.rb
- ee/spec/models/ee/namespace_spec.rb
- ee/spec/services/ee/merge_requests/create_service_spec.rb
- ee/spec/services/ee/merge_requests/refresh_service_spec.rb
- ee/spec/services/ee/merge_requests/update_service_spec.rb
......
......@@ -6,7 +6,6 @@ describe MergeRequests::CreateService do
include ProjectForksHelper
let(:project) { create(:project, :repository) }
let(:user) { create(:user) }
let(:service) { described_class.new(project, user, opts) }
let(:opts) do
{
......@@ -19,11 +18,16 @@ describe MergeRequests::CreateService do
end
before do
project.add_maintainer(user)
allow(service).to receive(:execute_hooks)
end
describe '#execute' do
let(:user) { create(:user) }
before do
project.add_maintainer(user)
end
it 'refreshes code owners for the merge request' do
fake_refresh_service = instance_double(::MergeRequests::SyncCodeOwnerApprovalRules)
......@@ -69,4 +73,25 @@ describe MergeRequests::CreateService do
let(:parent) { project }
end
end
describe '#execute with blocking merge requests', :clean_gitlab_redis_shared_state do
let(:opts) { { title: 'Blocked MR', source_branch: 'feature', target_branch: 'master' } }
let(:user) { project.owner }
it 'delegates to MergeRequests::UpdateBlocksService' do
expect(MergeRequests::UpdateBlocksService)
.to receive(:extract_params!)
.and_return(:extracted_params)
expect_next_instance_of(MergeRequests::UpdateBlocksService) do |block_service|
expect(block_service.merge_request.title).to eq('Blocked MR')
expect(block_service.current_user).to eq(user)
expect(block_service.params).to eq(:extracted_params)
expect(block_service).to receive(:execute)
end
service.execute
end
end
end
# frozen_string_literal: true
require 'spec_helper'
describe MergeRequests::CreateService, :clean_gitlab_redis_shared_state do
let(:project) { create(:project, :repository) }
let(:user) { project.owner }
subject(:service) { described_class.new(project, user, params) }
describe '#execute' do
context 'with blocking merge requests' do
let(:params) { { title: 'Blocked MR', source_branch: 'feature', target_branch: 'master' } }
it 'delegates to MergeRequests::UpdateBlocksService' do
expect(MergeRequests::UpdateBlocksService)
.to receive(:extract_params!)
.and_return(:extracted_params)
expect_next_instance_of(MergeRequests::UpdateBlocksService) do |block_service|
expect(block_service.merge_request.title).to eq('Blocked MR')
expect(block_service.current_user).to eq(user)
expect(block_service.params).to eq(:extracted_params)
expect(block_service).to receive(:execute)
end
service.execute
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment