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>2021-05-11 09:10:29 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-11 09:10:29 +0300
commitb7eed2ea49477a8baa7d9b0cf8034c799cde2e0f (patch)
tree38df0de2d4c7344a07d55f7cf5914344ba88e8e6 /spec/services/issues
parent11bfe6f3835256acf60ef98f9e2a37f417418681 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services/issues')
-rw-r--r--spec/services/issues/close_service_spec.rb22
1 files changed, 20 insertions, 2 deletions
diff --git a/spec/services/issues/close_service_spec.rb b/spec/services/issues/close_service_spec.rb
index 3cf45143594..8e02a07c0cd 100644
--- a/spec/services/issues/close_service_spec.rb
+++ b/spec/services/issues/close_service_spec.rb
@@ -91,7 +91,7 @@ RSpec.describe Issues::CloseService do
end
end
- context 'with innactive external issue tracker supporting close_issue' do
+ context 'with inactive external issue tracker supporting close_issue' do
let!(:external_issue_tracker) { create(:jira_service, project: project, active: false) }
it 'does not close the issue on the external issue tracker' do
@@ -220,6 +220,14 @@ RSpec.describe Issues::CloseService do
end
end
+ it 'verifies the number of queries' do
+ recorded = ActiveRecord::QueryRecorder.new { close_issue }
+ expected_queries = 23
+
+ expect(recorded.count).to be <= expected_queries
+ expect(recorded.cached_count).to eq(0)
+ end
+
it 'closes the issue' do
close_issue
@@ -230,7 +238,7 @@ RSpec.describe Issues::CloseService do
it 'records closed user' do
close_issue
- expect(issue.closed_by_id).to be(user.id)
+ expect(issue.reload.closed_by_id).to be(user.id)
end
it 'sends email to user2 about assign of new issue', :sidekiq_might_not_need_inline do
@@ -254,6 +262,16 @@ RSpec.describe Issues::CloseService do
expect(todo.reload).to be_done
end
+ context 'when closing the issue fails' do
+ it 'does not assign a closed_by value for the issue' do
+ allow(issue).to receive(:close).and_return(false)
+
+ close_issue
+
+ expect(issue.closed_by_id).to be_nil
+ end
+ end
+
context 'when there is an associated Alert Management Alert' do
context 'when alert can be resolved' do
let!(:alert) { create(:alert_management_alert, issue: issue, project: project) }