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/jira_connect/sync_service_spec.rb')
-rw-r--r--spec/services/jira_connect/sync_service_spec.rb18
1 files changed, 17 insertions, 1 deletions
diff --git a/spec/services/jira_connect/sync_service_spec.rb b/spec/services/jira_connect/sync_service_spec.rb
index 7457cdca13c..019370ce87f 100644
--- a/spec/services/jira_connect/sync_service_spec.rb
+++ b/spec/services/jira_connect/sync_service_spec.rb
@@ -7,9 +7,11 @@ RSpec.describe JiraConnect::SyncService, feature_category: :integrations do
describe '#execute' do
let_it_be(:project) { create(:project, :repository) }
+ let_it_be(:merge_request) { create(:merge_request, source_project: project) }
+ let_it_be(:merge_request_reviewer) { create(:merge_request_reviewer, merge_request: merge_request) }
let(:client) { Atlassian::JiraConnect::Client }
- let(:info) { { a: 'Some', b: 'Info' } }
+ let(:info) { { a: 'Some', b: 'Info', merge_requests: [merge_request] } }
subject do
described_class.new(project).execute(**info)
@@ -44,6 +46,20 @@ RSpec.describe JiraConnect::SyncService, feature_category: :integrations do
subject
end
+ it 'does not execute any queries for preloaded reviewers' do
+ expect_next(client).to store_info
+
+ expect_log(:info, { 'status': 'success' })
+
+ amount = ActiveRecord::QueryRecorder
+ .new { info[:merge_requests].flat_map(&:merge_request_reviewers).map(&:reviewer) }
+ .count
+
+ expect(amount).to be_zero
+
+ subject
+ end
+
context 'when a request returns errors' do
it 'logs each response as an error' do
expect_next(client).to store_info(