From f1926b321deb8b922dead991fb4d8bea42699f9f Mon Sep 17 00:00:00 2001 From: Markus Koller Date: Tue, 3 Sep 2019 19:45:00 +0200 Subject: Add controller concern for paginated collections We had similar code in a few places to redirect to the last page if the given page number is out of range. This unifies the handling in a new controller concern and adds usage of it in all snippet listings. --- .../projects/snippets_controller_spec.rb | 32 ++++++---------------- 1 file changed, 9 insertions(+), 23 deletions(-) (limited to 'spec/controllers/projects/snippets_controller_spec.rb') diff --git a/spec/controllers/projects/snippets_controller_spec.rb b/spec/controllers/projects/snippets_controller_spec.rb index 9b5d7317c11..b13534b9088 100644 --- a/spec/controllers/projects/snippets_controller_spec.rb +++ b/spec/controllers/projects/snippets_controller_spec.rb @@ -13,31 +13,17 @@ describe Projects::SnippetsController do end describe 'GET #index' do - context 'when page param' do - let(:last_page) { project.snippets.page.total_pages } - let!(:project_snippet) { create(:project_snippet, :public, project: project, author: user) } - - it 'redirects to last_page if page number is larger than number of pages' do - get :index, - params: { - namespace_id: project.namespace, - project_id: project, - page: (last_page + 1).to_param - } - - expect(response).to redirect_to(namespace_project_snippets_path(page: last_page)) + it_behaves_like 'paginated collection' do + let(:collection) { project.snippets } + let(:params) do + { + namespace_id: project.namespace, + project_id: project + } end - it 'redirects to specified page' do - get :index, - params: { - namespace_id: project.namespace, - project_id: project, - page: last_page.to_param - } - - expect(assigns(:snippets).current_page).to eq(last_page) - expect(response).to have_gitlab_http_status(200) + before do + create(:project_snippet, :public, project: project, author: user) end end -- cgit v1.2.1