Reduce number of records in pagination tests

Creating more than 25 records isn't necessary to test pagination; we can
stub the number of records per page in a test.

On my machine we save about one second per test with these changes.
This commit is contained in:
Javi Martín
2019-11-10 14:12:21 +01:00
parent 2228ac3781
commit bd03e249ce
19 changed files with 40 additions and 29 deletions

View File

@@ -1,12 +1,13 @@
module ModerateActions
extend ActiveSupport::Concern
include Polymorphic
PER_PAGE = 50
def index
@resources = @resources.send(@current_filter)
.send("sort_by_#{@current_order}")
.page(params[:page])
.per(50)
.per(PER_PAGE)
set_resources_instance
end

View File

@@ -1543,7 +1543,7 @@ describe "Admin budget investments" do
before { selected_bi.update(cached_votes_up: 50) }
scenario "After unselecting an investment", :js do
create_list(:budget_investment, 30, budget: budget)
allow(Budget::Investment).to receive(:default_per_page).and_return(3)
visit admin_budget_budget_investments_path(budget)

View File

@@ -90,8 +90,8 @@ describe "Admin hidden budget investments" do
end
scenario "Action links remember the pagination setting and the filter" do
per_page = Kaminari.config.default_per_page
(per_page + 2).times { create(:budget_investment, :hidden, :with_confirmed_hide, heading: heading) }
allow(Budget::Investment).to receive(:default_per_page).and_return(2)
4.times { create(:budget_investment, :hidden, :with_confirmed_hide, heading: heading) }
visit admin_hidden_budget_investments_path(filter: "with_confirmed_hide", page: 2)

View File

@@ -125,8 +125,8 @@ describe "Admin hidden comments" do
end
scenario "Action links remember the pagination setting and the filter" do
per_page = Kaminari.config.default_per_page
(per_page + 2).times { create(:comment, :hidden, :with_confirmed_hide) }
allow(Comment).to receive(:default_per_page).and_return(2)
4.times { create(:comment, :hidden, :with_confirmed_hide) }
visit admin_hidden_comments_path(filter: "with_confirmed_hide", page: 2)

View File

@@ -77,8 +77,8 @@ describe "Admin hidden debates" do
end
scenario "Action links remember the pagination setting and the filter" do
per_page = Kaminari.config.default_per_page
(per_page + 2).times { create(:debate, :hidden, :with_confirmed_hide) }
allow(Debate).to receive(:default_per_page).and_return(2)
4.times { create(:debate, :hidden, :with_confirmed_hide) }
visit admin_hidden_debates_path(filter: "with_confirmed_hide", page: 2)

View File

@@ -89,8 +89,8 @@ describe "Admin hidden proposals" do
end
scenario "Action links remember the pagination setting and the filter" do
per_page = Kaminari.config.default_per_page
(per_page + 2).times { create(:proposal, :hidden, :with_confirmed_hide) }
allow(Proposal).to receive(:default_per_page).and_return(2)
4.times { create(:proposal, :hidden, :with_confirmed_hide) }
visit admin_hidden_proposals_path(filter: "with_confirmed_hide", page: 2)

View File

@@ -82,8 +82,8 @@ describe "Admin hidden users" do
end
scenario "Action links remember the pagination setting and the filter" do
per_page = Kaminari.config.default_per_page
(per_page + 2).times { create(:user, :hidden, :with_confirmed_hide) }
allow(User).to receive(:default_per_page).and_return(2)
4.times { create(:user, :hidden, :with_confirmed_hide) }
visit admin_hidden_users_path(filter: "with_confirmed_hide", page: 2)

View File

@@ -40,7 +40,8 @@ describe "Admin local census records" do
end
scenario "Should show paginator" do
create_list(:local_census_record, 25)
allow(LocalCensusRecord).to receive(:default_per_page).and_return(3)
create_list(:local_census_record, 3)
visit admin_local_census_records_path
within ".pagination" do

View File

@@ -202,9 +202,9 @@ describe "Admin::Organizations" do
expect(page).not_to have_content("Verified Organization")
end
scenario "Verifying organization links remember the pagination setting and the filter" do
per_page = Kaminari.config.default_per_page
(per_page + 2).times { create(:organization) }
scenario "Verifying organization links remembers parameters " do
allow(Organization).to receive(:default_per_page).and_return(2)
4.times { create(:organization) }
visit admin_organizations_path(filter: "pending", page: 2)

View File

@@ -80,8 +80,8 @@ describe "Admin proposal notifications" do
end
scenario "Action links remember the pagination setting and the filter" do
per_page = Kaminari.config.default_per_page
(per_page + 2).times { create(:proposal_notification, :hidden, :with_confirmed_hide) }
allow(ProposalNotification).to receive(:default_per_page).and_return(2)
4.times { create(:proposal_notification, :hidden, :with_confirmed_hide) }
visit admin_proposal_notifications_path(filter: "with_confirmed_hide", page: 2)

View File

@@ -37,8 +37,9 @@ describe "Documents" do
end
scenario "Index (pagination)" do
per_page = Kaminari.config.default_per_page
(per_page + 5).times { create(:document, :admin) }
per_page = 3
allow(Document).to receive(:default_per_page).and_return(per_page)
(per_page + 2).times { create(:document, :admin) }
visit admin_site_customization_documents_path
@@ -51,7 +52,7 @@ describe "Documents" do
click_link "Next", exact: false
end
expect(page).to have_selector("#documents .document", count: 5)
expect(page).to have_selector("#documents .document", count: 2)
end
scenario "Create" do

View File

@@ -35,7 +35,8 @@ describe "Debates" do
end
scenario "Paginated Index" do
per_page = Kaminari.config.default_per_page
per_page = 3
allow(Debate).to receive(:default_per_page).and_return(per_page)
(per_page + 2).times { create(:debate) }
visit debates_path

View File

@@ -119,7 +119,8 @@ describe "Moderate budget investments" do
end
scenario "remembering page, filter and order" do
create_list(:budget_investment, 52, heading: heading, author: create(:user))
stub_const("#{ModerateActions}::PER_PAGE", 2)
create_list(:budget_investment, 4, heading: heading, author: create(:user))
visit moderation_budget_investments_path(filter: "all", page: "2", order: "created_at")

View File

@@ -125,7 +125,8 @@ describe "Moderate comments" do
end
scenario "remembering page, filter and order" do
create_list(:comment, 52)
stub_const("#{ModerateActions}::PER_PAGE", 2)
create_list(:comment, 4)
visit moderation_comments_path(filter: "all", page: "2", order: "newest")

View File

@@ -106,7 +106,8 @@ describe "Moderate debates" do
end
scenario "remembering page, filter and order" do
create_list(:debate, 52)
stub_const("#{ModerateActions}::PER_PAGE", 2)
create_list(:debate, 4)
visit moderation_debates_path(filter: "all", page: "2", order: "created_at")

View File

@@ -101,7 +101,8 @@ describe "Moderate proposal notifications" do
end
scenario "remembering page, filter and order" do
create_list(:proposal, 52)
stub_const("#{ModerateActions}::PER_PAGE", 2)
create_list(:proposal, 4)
visit moderation_proposal_notifications_path(filter: "all", page: "2", order: "created_at")

View File

@@ -105,7 +105,8 @@ describe "Moderate proposals" do
end
scenario "remembering page, filter and order" do
create_list(:proposal, 52)
stub_const("#{ModerateActions}::PER_PAGE", 2)
create_list(:proposal, 4)
visit moderation_proposals_path(filter: "all", page: "2", order: "created_at")

View File

@@ -91,7 +91,8 @@ describe "Proposals" do
end
scenario "Pagination" do
per_page = Kaminari.config.default_per_page
per_page = 3
allow(Proposal).to receive(:default_per_page).and_return(per_page)
(per_page + 2).times { create(:proposal) }
visit proposals_path

View File

@@ -85,7 +85,8 @@ describe "Valuation budget investments" do
end
scenario "Index displays investments paginated" do
per_page = Kaminari.config.default_per_page
per_page = 3
allow(Budget::Investment).to receive(:default_per_page).and_return(per_page)
(per_page + 2).times do
create(:budget_investment, :visible_to_valuators, budget: budget, valuators: [valuator])
end