Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-21 18:08:26 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-21 18:08:26 +0300
commitc859c3bfd242288065fe5e2d887f7204f09e2335 (patch)
tree10febaf8774a3ea6ab3773c0dd97658d673fb280 /spec/services/merge_requests
parent28ce39a3e0e7b47e53939a15fb823af9c433327a (diff)
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.rb37
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 }