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/refresh_service_spec.rb')
-rw-r--r--spec/services/merge_requests/refresh_service_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/services/merge_requests/refresh_service_spec.rb b/spec/services/merge_requests/refresh_service_spec.rb
index 747ecbf4fa4..2abe7a23bfe 100644
--- a/spec/services/merge_requests/refresh_service_spec.rb
+++ b/spec/services/merge_requests/refresh_service_spec.rb
@@ -72,6 +72,21 @@ RSpec.describe MergeRequests::RefreshService do
allow(NotificationService).to receive(:new) { notification_service }
end
+ context 'query count' do
+ it 'does not execute a lot of queries' do
+ # Hardcoded the query limit since the queries can also be reduced even
+ # if there are the same number of merge requests (e.g. by preloading
+ # associations). This should also fail in case additional queries are
+ # added elsewhere that affected this service.
+ #
+ # The limit is based on the number of queries executed at the current
+ # state of the service. As we reduce the number of queries executed in
+ # this service, the limit should be reduced as well.
+ expect { refresh_service.execute(@oldrev, @newrev, 'refs/heads/master') }
+ .not_to exceed_query_limit(260)
+ end
+ end
+
it 'executes hooks with update action' do
refresh_service.execute(@oldrev, @newrev, 'refs/heads/master')
reload_mrs
@@ -155,6 +170,18 @@ RSpec.describe MergeRequests::RefreshService do
.not_to change { @merge_request.reload.merge_request_diff }
end
end
+
+ it 'calls the merge request activity counter' do
+ expect(Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter)
+ .to receive(:track_mr_including_ci_config)
+ .with(user: @merge_request.author, merge_request: @merge_request)
+
+ expect(Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter)
+ .to receive(:track_mr_including_ci_config)
+ .with(user: @another_merge_request.author, merge_request: @another_merge_request)
+
+ refresh_service.execute(@oldrev, @newrev, 'refs/heads/master')
+ end
end
context 'when pipeline exists for the source branch' do