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:
Diffstat (limited to 'spec/services/merge_requests')
-rw-r--r--spec/services/merge_requests/approval_service_spec.rb1
-rw-r--r--spec/services/merge_requests/close_service_spec.rb2
-rw-r--r--spec/services/merge_requests/create_service_spec.rb2
-rw-r--r--spec/services/merge_requests/mergeability/check_base_service_spec.rb16
-rw-r--r--spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb4
-rw-r--r--spec/services/merge_requests/mergeability/check_ci_status_service_spec.rb4
-rw-r--r--spec/services/merge_requests/mergeability/check_conflict_status_service_spec.rb4
-rw-r--r--spec/services/merge_requests/mergeability/check_discussions_status_service_spec.rb5
-rw-r--r--spec/services/merge_requests/mergeability/check_draft_status_service_spec.rb4
-rw-r--r--spec/services/merge_requests/mergeability/check_open_status_service_spec.rb4
-rw-r--r--spec/services/merge_requests/mergeability/check_rebase_status_service_spec.rb4
-rw-r--r--spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb14
-rw-r--r--spec/services/merge_requests/mergeability/run_checks_service_spec.rb6
-rw-r--r--spec/services/merge_requests/post_merge_service_spec.rb12
-rw-r--r--spec/services/merge_requests/reopen_service_spec.rb2
15 files changed, 67 insertions, 17 deletions
diff --git a/spec/services/merge_requests/approval_service_spec.rb b/spec/services/merge_requests/approval_service_spec.rb
index e7fe5c19fa3..8761aba432f 100644
--- a/spec/services/merge_requests/approval_service_spec.rb
+++ b/spec/services/merge_requests/approval_service_spec.rb
@@ -13,6 +13,7 @@ RSpec.describe MergeRequests::ApprovalService, feature_category: :code_review_wo
before do
project.add_developer(user)
+ stub_feature_flags ff_require_saml_auth_to_approve: false
end
context 'with invalid approval' do
diff --git a/spec/services/merge_requests/close_service_spec.rb b/spec/services/merge_requests/close_service_spec.rb
index 25c75ae7244..199f5e3fd9a 100644
--- a/spec/services/merge_requests/close_service_spec.rb
+++ b/spec/services/merge_requests/close_service_spec.rb
@@ -42,7 +42,7 @@ RSpec.describe MergeRequests::CloseService, feature_category: :code_review_workf
.with(@merge_request, 'close')
end
- it 'sends email to user2 about assign of new merge_request', :sidekiq_might_not_need_inline do
+ it 'sends email to user2 about assign of new merge_request', :sidekiq_inline do
email = ActionMailer::Base.deliveries.last
expect(email.to.first).to eq(user2.email)
expect(email.subject).to include(merge_request.title)
diff --git a/spec/services/merge_requests/create_service_spec.rb b/spec/services/merge_requests/create_service_spec.rb
index 51b1bed1dd3..bf52800b77e 100644
--- a/spec/services/merge_requests/create_service_spec.rb
+++ b/spec/services/merge_requests/create_service_spec.rb
@@ -52,7 +52,7 @@ RSpec.describe MergeRequests::CreateService, :clean_gitlab_redis_shared_state, f
end.to change { project.open_merge_requests_count }.from(0).to(1)
end
- it 'creates exactly 1 create MR event', :sidekiq_might_not_need_inline do
+ it 'creates exactly 1 create MR event', :sidekiq_inline do
attributes = {
action: :created,
target_id: merge_request.id,
diff --git a/spec/services/merge_requests/mergeability/check_base_service_spec.rb b/spec/services/merge_requests/mergeability/check_base_service_spec.rb
index 806bde61c23..05f5b4f1315 100644
--- a/spec/services/merge_requests/mergeability/check_base_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/check_base_service_spec.rb
@@ -8,6 +8,22 @@ RSpec.describe MergeRequests::Mergeability::CheckBaseService, feature_category:
let(:merge_request) { double }
let(:params) { double }
+ describe '.identifier' do
+ it 'sets the identifier' do
+ described_class.identifier("test")
+
+ expect(described_class.identifier).to eq("test")
+ end
+ end
+
+ describe '.description' do
+ it 'sets the description' do
+ described_class.description("test")
+
+ expect(described_class.description).to eq("test")
+ end
+ end
+
describe '#merge_request' do
it 'returns the merge_request' do
expect(check_base_service.merge_request).to eq merge_request
diff --git a/spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb b/spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb
index b6ee1049bb9..f29289be86b 100644
--- a/spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/check_broken_status_service_spec.rb
@@ -7,6 +7,8 @@ RSpec.describe MergeRequests::Mergeability::CheckBrokenStatusService, feature_ca
let(:merge_request) { build(:merge_request) }
+ it_behaves_like 'mergeability check service', :broken_status, 'Checks whether the merge request is broken'
+
describe '#execute' do
let(:result) { check_broken_status.execute }
@@ -19,7 +21,7 @@ RSpec.describe MergeRequests::Mergeability::CheckBrokenStatusService, feature_ca
it 'returns a check result with status failed' do
expect(result.status).to eq Gitlab::MergeRequests::Mergeability::CheckResult::FAILED_STATUS
- expect(result.payload[:reason]).to eq(:broken_status)
+ expect(result.payload[:identifier]).to eq(:broken_status)
end
end
diff --git a/spec/services/merge_requests/mergeability/check_ci_status_service_spec.rb b/spec/services/merge_requests/mergeability/check_ci_status_service_spec.rb
index 067e87859e7..aa7920b9b40 100644
--- a/spec/services/merge_requests/mergeability/check_ci_status_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/check_ci_status_service_spec.rb
@@ -10,6 +10,8 @@ RSpec.describe MergeRequests::Mergeability::CheckCiStatusService, feature_catego
let(:params) { { skip_ci_check: skip_check } }
let(:skip_check) { false }
+ it_behaves_like 'mergeability check service', :ci_must_pass, 'Checks whether CI has passed'
+
describe '#execute' do
let(:result) { check_ci_status.execute }
@@ -39,7 +41,7 @@ RSpec.describe MergeRequests::Mergeability::CheckCiStatusService, feature_catego
it 'returns a check result with status failed' do
expect(result.status).to eq Gitlab::MergeRequests::Mergeability::CheckResult::FAILED_STATUS
- expect(result.payload[:reason]).to eq :ci_must_pass
+ expect(result.payload[:identifier]).to eq :ci_must_pass
end
end
end
diff --git a/spec/services/merge_requests/mergeability/check_conflict_status_service_spec.rb b/spec/services/merge_requests/mergeability/check_conflict_status_service_spec.rb
index 14173c19bfb..e35de4d4042 100644
--- a/spec/services/merge_requests/mergeability/check_conflict_status_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/check_conflict_status_service_spec.rb
@@ -7,6 +7,8 @@ RSpec.describe MergeRequests::Mergeability::CheckConflictStatusService, feature_
let(:merge_request) { build(:merge_request) }
+ it_behaves_like 'mergeability check service', :conflict, 'Checks whether the merge request has a conflict'
+
describe '#execute' do
let(:result) { check_conflict_status.execute }
@@ -27,7 +29,7 @@ RSpec.describe MergeRequests::Mergeability::CheckConflictStatusService, feature_
it 'returns a check result with status failed' do
expect(result.status).to eq Gitlab::MergeRequests::Mergeability::CheckResult::FAILED_STATUS
- expect(result.payload[:reason]).to eq(:conflict)
+ expect(result.payload[:identifier]).to eq(:conflict)
end
end
end
diff --git a/spec/services/merge_requests/mergeability/check_discussions_status_service_spec.rb b/spec/services/merge_requests/mergeability/check_discussions_status_service_spec.rb
index 4a8b28f603d..3d1fe0c838d 100644
--- a/spec/services/merge_requests/mergeability/check_discussions_status_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/check_discussions_status_service_spec.rb
@@ -10,6 +10,9 @@ RSpec.describe MergeRequests::Mergeability::CheckDiscussionsStatusService, featu
let(:params) { { skip_discussions_check: skip_check } }
let(:skip_check) { false }
+ it_behaves_like 'mergeability check service', :discussions_not_resolved,
+ 'Checks whether the merge request has open discussions'
+
describe '#execute' do
let(:result) { check_discussions_status.execute }
@@ -39,7 +42,7 @@ RSpec.describe MergeRequests::Mergeability::CheckDiscussionsStatusService, featu
it 'returns a check result with status failed' do
expect(result.status).to eq Gitlab::MergeRequests::Mergeability::CheckResult::FAILED_STATUS
- expect(result.payload[:reason]).to eq(:discussions_not_resolved)
+ expect(result.payload[:identifier]).to eq(:discussions_not_resolved)
end
end
end
diff --git a/spec/services/merge_requests/mergeability/check_draft_status_service_spec.rb b/spec/services/merge_requests/mergeability/check_draft_status_service_spec.rb
index 3837022232d..cef8169e725 100644
--- a/spec/services/merge_requests/mergeability/check_draft_status_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/check_draft_status_service_spec.rb
@@ -10,6 +10,8 @@ RSpec.describe MergeRequests::Mergeability::CheckDraftStatusService, feature_cat
let(:params) { { skip_draft_check: skip_check } }
let(:skip_check) { false }
+ it_behaves_like 'mergeability check service', :draft_status, 'Checks whether the merge request is draft'
+
describe '#execute' do
let(:result) { check_draft_status.execute }
@@ -22,7 +24,7 @@ RSpec.describe MergeRequests::Mergeability::CheckDraftStatusService, feature_cat
it 'returns a check result with status failed' do
expect(result.status).to eq Gitlab::MergeRequests::Mergeability::CheckResult::FAILED_STATUS
- expect(result.payload[:reason]).to eq(:draft_status)
+ expect(result.payload[:identifier]).to eq(:draft_status)
end
end
diff --git a/spec/services/merge_requests/mergeability/check_open_status_service_spec.rb b/spec/services/merge_requests/mergeability/check_open_status_service_spec.rb
index 53ad77ea4df..f673e43931d 100644
--- a/spec/services/merge_requests/mergeability/check_open_status_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/check_open_status_service_spec.rb
@@ -7,6 +7,8 @@ RSpec.describe MergeRequests::Mergeability::CheckOpenStatusService, feature_cate
let(:merge_request) { build(:merge_request) }
+ it_behaves_like 'mergeability check service', :not_open, 'Checks whether the merge request is open'
+
describe '#execute' do
let(:result) { check_open_status.execute }
@@ -27,7 +29,7 @@ RSpec.describe MergeRequests::Mergeability::CheckOpenStatusService, feature_cate
it 'returns a check result with status failed' do
expect(result.status).to eq Gitlab::MergeRequests::Mergeability::CheckResult::FAILED_STATUS
- expect(result.payload[:reason]).to eq(:not_open)
+ expect(result.payload[:identifier]).to eq(:not_open)
end
end
end
diff --git a/spec/services/merge_requests/mergeability/check_rebase_status_service_spec.rb b/spec/services/merge_requests/mergeability/check_rebase_status_service_spec.rb
index d6948f72c0a..047cf5c13bf 100644
--- a/spec/services/merge_requests/mergeability/check_rebase_status_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/check_rebase_status_service_spec.rb
@@ -10,6 +10,8 @@ RSpec.describe MergeRequests::Mergeability::CheckRebaseStatusService, feature_ca
let(:params) { { skip_rebase_check: skip_check } }
let(:skip_check) { false }
+ it_behaves_like 'mergeability check service', :need_rebase, 'Checks whether the merge request needs to be rebased'
+
describe '#execute' do
let(:result) { check_rebase_status.execute }
@@ -31,7 +33,7 @@ RSpec.describe MergeRequests::Mergeability::CheckRebaseStatusService, feature_ca
it 'returns a check result with status failed' do
expect(result.status).to eq Gitlab::MergeRequests::Mergeability::CheckResult::FAILED_STATUS
- expect(result.payload[:reason]).to eq(:need_rebase)
+ expect(result.payload[:identifier]).to eq(:need_rebase)
end
end
diff --git a/spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb b/spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb
index 66bcb948cb6..a3c5427ee82 100644
--- a/spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/detailed_merge_status_service_spec.rb
@@ -64,7 +64,7 @@ RSpec.describe ::MergeRequests::Mergeability::DetailedMergeStatusService, featur
merge_request.close!
end
- it 'returns the failure reason' do
+ it 'returns the failed check' do
expect(detailed_merge_status).to eq(:not_open)
end
end
@@ -77,7 +77,7 @@ RSpec.describe ::MergeRequests::Mergeability::DetailedMergeStatusService, featur
end
context 'when pipeline does not exist' do
- it 'returns the failure reason' do
+ it 'returns the failed check' do
expect(detailed_merge_status).to eq(:ci_must_pass)
end
end
@@ -97,15 +97,21 @@ RSpec.describe ::MergeRequests::Mergeability::DetailedMergeStatusService, featur
context 'when the pipeline is running' do
let(:ci_status) { :running }
- it 'returns the failure reason' do
+ it 'returns the failed check' do
expect(detailed_merge_status).to eq(:ci_still_running)
end
end
+ context 'when the pipeline is pending' do
+ let(:ci_status) { :pending }
+
+ it { expect(detailed_merge_status).to eq(:ci_still_running) }
+ end
+
context 'when the pipeline is not running' do
let(:ci_status) { :failed }
- it 'returns the failure reason' do
+ it 'returns the failed check' do
expect(detailed_merge_status).to eq(:ci_must_pass)
end
end
diff --git a/spec/services/merge_requests/mergeability/run_checks_service_spec.rb b/spec/services/merge_requests/mergeability/run_checks_service_spec.rb
index 06e15356a92..a67b01b8069 100644
--- a/spec/services/merge_requests/mergeability/run_checks_service_spec.rb
+++ b/spec/services/merge_requests/mergeability/run_checks_service_spec.rb
@@ -77,7 +77,7 @@ RSpec.describe MergeRequests::Mergeability::RunChecksService, :clean_gitlab_redi
end
context 'when one check fails' do
- let(:failed_result) { Gitlab::MergeRequests::Mergeability::CheckResult.failed(payload: { reason: 'failed' }) }
+ let(:failed_result) { Gitlab::MergeRequests::Mergeability::CheckResult.failed(payload: { identifier: 'failed' }) }
before do
allow_next_instance_of(MergeRequests::Mergeability::CheckOpenStatusService) do |service|
@@ -86,11 +86,11 @@ RSpec.describe MergeRequests::Mergeability::RunChecksService, :clean_gitlab_redi
end
end
- it 'returns the failure reason' do
+ it 'returns the failed check' do
result = execute
expect(result.success?).to eq(false)
- expect(execute.payload[:failure_reason]).to eq(:failed)
+ expect(execute.payload[:failed_check]).to eq(:failed)
end
it_behaves_like 'checks are all executed' do
diff --git a/spec/services/merge_requests/post_merge_service_spec.rb b/spec/services/merge_requests/post_merge_service_spec.rb
index f7526c169bd..61c754e30a9 100644
--- a/spec/services/merge_requests/post_merge_service_spec.rb
+++ b/spec/services/merge_requests/post_merge_service_spec.rb
@@ -153,5 +153,17 @@ RSpec.describe MergeRequests::PostMergeService, feature_category: :code_review_w
expect(deploy_job.reload.canceled?).to be false
end
end
+
+ context 'when the merge request has a pages deployment' do
+ it 'performs Pages::DeactivateMrDeploymentWorker asynchronously' do
+ expect(Pages::DeactivateMrDeploymentsWorker)
+ .to receive(:perform_async)
+ .with(merge_request)
+
+ subject
+
+ expect(merge_request.reload).to be_merged
+ end
+ end
end
end
diff --git a/spec/services/merge_requests/reopen_service_spec.rb b/spec/services/merge_requests/reopen_service_spec.rb
index e173cd382f2..f3ac55059bc 100644
--- a/spec/services/merge_requests/reopen_service_spec.rb
+++ b/spec/services/merge_requests/reopen_service_spec.rb
@@ -44,7 +44,7 @@ RSpec.describe MergeRequests::ReopenService, feature_category: :code_review_work
expect(Integrations::GroupMentionWorker).not_to receive(:perform_async)
end
- it 'sends email to user2 about reopen of merge_request', :sidekiq_might_not_need_inline do
+ it 'sends email to user2 about reopen of merge_request', :sidekiq_inline do
email = ActionMailer::Base.deliveries.last
expect(email.to.first).to eq(user2.email)
expect(email.subject).to include(merge_request.title)