Unify paginated comments specs

This commit is contained in:
taitus
2023-12-18 22:25:40 +01:00
parent 7006564c31
commit d24c2859c4
8 changed files with 22 additions and 148 deletions

View File

@@ -6,24 +6,6 @@ describe "Commenting Budget::Investments" do
it_behaves_like "flaggable", :budget_investment_comment
scenario "Paginated comments" do
per_page = 10
(per_page + 2).times { create(:comment, commentable: investment) }
visit budget_investment_path(investment.budget, investment)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
expect(page).to have_css(".comment", count: 2)
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Create" do
login_as(user)
visit budget_investment_path(investment.budget, investment)

View File

@@ -25,24 +25,6 @@ describe "Commenting debates" do
end
end
scenario "Paginated comments" do
per_page = 10
(per_page + 2).times { create(:comment, commentable: debate) }
visit debate_path(debate)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
expect(page).to have_css(".comment", count: 2)
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Create" do
login_as(user)
visit debate_path(debate)

View File

@@ -6,24 +6,6 @@ describe "Commenting legislation questions" do
it_behaves_like "flaggable", :legislation_annotation_comment
scenario "Paginated comments" do
per_page = 10
(per_page + 2).times { create(:comment, commentable: annotation) }
visit polymorphic_path(annotation)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
expect(page).to have_css(".comment", count: 3)
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Create" do
login_as(user)
visit polymorphic_path(annotation)

View File

@@ -10,24 +10,6 @@ describe "Commenting legislation questions" do
it_behaves_like "flaggable", :legislation_question_comment
end
scenario "Paginated comments" do
per_page = 10
(per_page + 2).times { create(:comment, commentable: question) }
visit legislation_process_question_path(question.process, question)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
expect(page).to have_css(".comment", count: 2)
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Create" do
login_as(user)
visit legislation_process_question_path(question.process, question)

View File

@@ -4,24 +4,6 @@ describe "Commenting polls" do
let(:user) { create(:user) }
let(:poll) { create(:poll, author: create(:user)) }
scenario "Paginated comments" do
per_page = 10
(per_page + 2).times { create(:comment, commentable: poll) }
visit poll_path(poll)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
expect(page).to have_css(".comment", count: 2)
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Create" do
login_as(user)
visit poll_path(poll)

View File

@@ -6,24 +6,6 @@ describe "Commenting proposals" do
it_behaves_like "flaggable", :proposal_comment
scenario "Paginated comments" do
per_page = 10
(per_page + 2).times { create(:comment, commentable: proposal) }
visit proposal_path(proposal)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
expect(page).to have_css(".comment", count: 2)
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Create" do
login_as(user)
visit proposal_path(proposal)

View File

@@ -6,26 +6,6 @@ describe "Commenting topics from proposals" do
it_behaves_like "flaggable", :topic_with_community_comment
scenario "Paginated comments" do
community = proposal.community
topic = create(:topic, community: community)
per_page = 10
(per_page + 2).times { create(:comment, commentable: topic) }
visit community_topic_path(community, topic)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
expect(page).to have_css(".comment", count: 2)
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Create" do
community = proposal.community
topic = create(:topic, community: community)
@@ -373,26 +353,6 @@ describe "Commenting topics from budget investments" do
let(:user) { create(:user) }
let(:investment) { create(:budget_investment) }
scenario "Paginated comments" do
community = investment.community
topic = create(:topic, community: community)
per_page = 10
(per_page + 2).times { create(:comment, commentable: topic) }
visit community_topic_path(community, topic)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
expect(page).to have_css(".comment", count: 2)
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Create" do
community = investment.community
topic = create(:topic, community: community)

View File

@@ -258,6 +258,28 @@ describe "Comments" do
end
end
scenario "Paginated comments" do
per_page = 10
(per_page + 2).times { create(:comment, commentable: resource) }
visit polymorphic_path(resource)
expect(page).to have_css(".comment", count: per_page)
within("ul.pagination") do
expect(page).to have_content("1")
expect(page).to have_content("2")
expect(page).not_to have_content("3")
click_link "Next", exact: false
end
if factory == :legislation_annotation
expect(page).to have_css(".comment", count: 3)
else
expect(page).to have_css(".comment", count: 2)
end
expect(page).to have_current_path(/#comments/, url: true)
end
scenario "Errors on create" do
login_as(user)
visit polymorphic_path(resource)