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/controllers/projects_controller_spec.rb')
-rw-r--r--spec/controllers/projects_controller_spec.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb
index 94d75ab8d7d..b30610d98d7 100644
--- a/spec/controllers/projects_controller_spec.rb
+++ b/spec/controllers/projects_controller_spec.rb
@@ -920,6 +920,7 @@ RSpec.describe ProjectsController do
environments_access_level
feature_flags_access_level
releases_access_level
+ monitor_access_level
]
end
@@ -947,6 +948,7 @@ RSpec.describe ProjectsController do
where(:feature_access_level) do
%i[
environments_access_level feature_flags_access_level
+ monitor_access_level
]
end
@@ -1217,6 +1219,40 @@ RSpec.describe ProjectsController do
expect(json_response["Commits"]).to include("123456")
end
+ it 'uses gitaly pagination' do
+ expected_params = ActionController::Parameters.new(ref: '123456', per_page: 100).permit!
+
+ expect_next_instance_of(BranchesFinder, project.repository, expected_params) do |finder|
+ expect(finder).to receive(:execute).with(gitaly_pagination: true).and_call_original
+ end
+
+ expect_next_instance_of(TagsFinder, project.repository, expected_params) do |finder|
+ expect(finder).to receive(:execute).with(gitaly_pagination: true).and_call_original
+ end
+
+ get :refs, params: { namespace_id: project.namespace, id: project, ref: "123456" }
+ end
+
+ context 'when use_gitaly_pagination_for_refs is disabled' do
+ before do
+ stub_feature_flags(use_gitaly_pagination_for_refs: false)
+ end
+
+ it 'does not use gitaly pagination' do
+ expected_params = ActionController::Parameters.new(ref: '123456', per_page: 100).permit!
+
+ expect_next_instance_of(BranchesFinder, project.repository, expected_params) do |finder|
+ expect(finder).to receive(:execute).with(gitaly_pagination: false).and_call_original
+ end
+
+ expect_next_instance_of(TagsFinder, project.repository, expected_params) do |finder|
+ expect(finder).to receive(:execute).with(gitaly_pagination: false).and_call_original
+ end
+
+ get :refs, params: { namespace_id: project.namespace, id: project, ref: "123456" }
+ end
+ end
+
context 'when gitaly is unavailable' do
before do
expect_next_instance_of(TagsFinder) do |finder|