diff options
Diffstat (limited to 'spec/controllers/projects_controller_spec.rb')
-rw-r--r-- | spec/controllers/projects_controller_spec.rb | 36 |
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| |