diff options
author | Matija Čupić <matteeyah@gmail.com> | 2017-12-01 20:01:59 +0300 |
---|---|---|
committer | Matija Čupić <matteeyah@gmail.com> | 2017-12-01 20:01:59 +0300 |
commit | c2bf452c171ec5c8cd2901f3746f5a3c5e55bc77 (patch) | |
tree | 78707bb6ffc9e1e0e5555432cf846a39a00dff68 | |
parent | 9199d30a81e221ebe5d76fef58071d991e02ef9f (diff) |
Refactor ClustersController pagination test
-rw-r--r-- | app/controllers/projects/clusters_controller.rb | 2 | ||||
-rw-r--r-- | spec/controllers/projects/clusters_controller_spec.rb | 21 |
2 files changed, 11 insertions, 12 deletions
diff --git a/app/controllers/projects/clusters_controller.rb b/app/controllers/projects/clusters_controller.rb index c24b413b51e..2843045fdc4 100644 --- a/app/controllers/projects/clusters_controller.rb +++ b/app/controllers/projects/clusters_controller.rb @@ -9,7 +9,7 @@ class Projects::ClustersController < Projects::ApplicationController def index @scope = params[:scope] || 'all' clusters = ClustersFinder.new(project, current_user, @scope).execute - @clusters = clusters.page(params[:page]).per(20) + @clusters = clusters.page(params[:page]) @active_count = project.clusters.enabled.count @inactive_count = project.clusters.disabled.count @all_count = @active_count + @inactive_count diff --git a/spec/controllers/projects/clusters_controller_spec.rb b/spec/controllers/projects/clusters_controller_spec.rb index ce2932ffa28..1ad1f8b53ae 100644 --- a/spec/controllers/projects/clusters_controller_spec.rb +++ b/spec/controllers/projects/clusters_controller_spec.rb @@ -33,20 +33,19 @@ describe Projects::ClustersController do expect(assigns(:inactive_count)).to eq(project.clusters.disabled.count) end - context 'properly paginates' do - before do - PAGE_LIMIT = 20 - project.clusters = create_list(:cluster, PAGE_LIMIT + 1, :provided_by_gcp, projects: [project]) - end + context 'when page is specified' do + let(:last_page) { project.clusters.page.total_pages } - it 'shows the first page' do - go - expect(assigns(:clusters).count).to eq(PAGE_LIMIT) + before do + Clusters::Cluster.paginates_per(1) + create_list(:cluster, 2, :provided_by_gcp, projects: [project]) + get :index, namespace_id: project.namespace, project_id: project, page: last_page end - it 'shows the second page' do - get :index, namespace_id: project.namespace, project_id: project, page: 2 - expect(assigns(:clusters).count).to eq(1) + it 'redirects to the page' do + binding.pry + expect(response).to have_gitlab_http_status(:ok) + expect(assigns(:clusters).current_page).to eq(last_page) end end |