summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/snippets_controller_spec.rb
diff options
context:
space:
mode:
authorMarkus Koller <mkoller@gitlab.com>2019-09-03 19:45:00 +0200
committerMarkus Koller <mkoller@gitlab.com>2019-09-10 15:24:29 +0200
commitf1926b321deb8b922dead991fb4d8bea42699f9f (patch)
tree7dfb7b613152cc6282b1f169e781f11f736de36a /spec/controllers/projects/snippets_controller_spec.rb
parent60755fbc406bd25ab526339899f97a2b27aeb272 (diff)
downloadgitlab-ce-f1926b321deb8b922dead991fb4d8bea42699f9f.tar.gz
Add controller concern for paginated collections65988-optimize-snippet-listings
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.
Diffstat (limited to 'spec/controllers/projects/snippets_controller_spec.rb')
-rw-r--r--spec/controllers/projects/snippets_controller_spec.rb32
1 files changed, 9 insertions, 23 deletions
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