diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-21 15:08:26 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-21 15:08:26 +0000 |
commit | c859c3bfd242288065fe5e2d887f7204f09e2335 (patch) | |
tree | 10febaf8774a3ea6ab3773c0dd97658d673fb280 /spec/services/merge_requests | |
parent | 28ce39a3e0e7b47e53939a15fb823af9c433327a (diff) | |
download | gitlab-ce-c859c3bfd242288065fe5e2d887f7204f09e2335.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services/merge_requests')
-rw-r--r-- | spec/services/merge_requests/mergeability_check_service_spec.rb | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/spec/services/merge_requests/mergeability_check_service_spec.rb b/spec/services/merge_requests/mergeability_check_service_spec.rb index a864da0a6fb..8f17e8083e3 100644 --- a/spec/services/merge_requests/mergeability_check_service_spec.rb +++ b/spec/services/merge_requests/mergeability_check_service_spec.rb @@ -53,9 +53,42 @@ describe MergeRequests::MergeabilityCheckService, :clean_gitlab_redis_shared_sta end end + let(:project) { create(:project, :repository) } + let(:merge_request) { create(:merge_request, merge_status: :unchecked, source_project: project, target_project: project) } + + describe '#async_execute' do + shared_examples_for 'no job is enqueued' do + it 'does not enqueue MergeRequestMergeabilityCheckWorker' do + expect(MergeRequestMergeabilityCheckWorker).not_to receive(:perform_async) + + described_class.new(merge_request).async_execute + end + end + + it 'enqueues MergeRequestMergeabilityCheckWorker' do + expect(MergeRequestMergeabilityCheckWorker).to receive(:perform_async) + + described_class.new(merge_request).async_execute + end + + context 'when read only DB' do + before do + allow(Gitlab::Database).to receive(:read_only?) { true } + end + + it_behaves_like 'no job is enqueued' + end + + context 'when merge_status is already checking' do + before do + merge_request.mark_as_checking + end + + it_behaves_like 'no job is enqueued' + end + end + describe '#execute' do - let(:project) { create(:project, :repository) } - let(:merge_request) { create(:merge_request, merge_status: :unchecked, source_project: project, target_project: project) } let(:repo) { project.repository } subject { described_class.new(merge_request).execute } |