mirror of
https://github.com/CodeforLeipzig/stadtratmonitor.git
synced 2024-12-22 23:53:15 +01:00
Add spec for search result pagination
This commit is contained in:
parent
fda0d54717
commit
9ae58e3a8d
2 changed files with 21 additions and 3 deletions
|
@ -23,5 +23,5 @@ div
|
||||||
span.published = l doc.published_at.to_date
|
span.published = l doc.published_at.to_date
|
||||||
/! score: #{doc._score}
|
/! score: #{doc._score}
|
||||||
|
|
||||||
div
|
div#pagination
|
||||||
= paginate @papers
|
= paginate @papers
|
||||||
|
|
|
@ -18,13 +18,31 @@ RSpec.feature "Basic search", type: :feature, elasticsearch: true do
|
||||||
expect(page).to have_field("paper_search_sort_by_score", type: "radio")
|
expect(page).to have_field("paper_search_sort_by_score", type: "radio")
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "It displays a list of search results" do
|
scenario "With empty query displays all documents" do
|
||||||
visit search_path body: "leipzig"
|
visit search_path body: "leipzig"
|
||||||
expect(page).to have_selector("ul#search_results")
|
expect(page).to have_selector("ul#search_results")
|
||||||
expect(page).to have_css("li.search-result", count: 10)
|
|
||||||
expect(page).to have_content("#{@papers.size} Dokumente in der Datenbank")
|
expect(page).to have_content("#{@papers.size} Dokumente in der Datenbank")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "Search results are paginated" do
|
||||||
|
visit search_path body: "leipzig"
|
||||||
|
expect(page).to have_css("li.search-result", count: 10)
|
||||||
|
expect(page).to have_css("div#pagination")
|
||||||
|
within("div#pagination") do
|
||||||
|
expect(page).to have_css("li", count: 4) # two pages + next + last
|
||||||
|
expect(page).to have_css("li.current", text: "1")
|
||||||
|
expect(page).to have_link("2")
|
||||||
|
expect(page).to have_link("Weiter")
|
||||||
|
expect(page).to have_link("Ende")
|
||||||
|
end
|
||||||
|
|
||||||
|
page.find("div#pagination").click_link("2")
|
||||||
|
expect(page).to have_css("li.search-result", count: 1)
|
||||||
|
within("div#pagination") do
|
||||||
|
expect(page).to have_css("li.current", text: "2")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
scenario "Search results have basic information" do
|
scenario "Search results have basic information" do
|
||||||
visit search_path body: "leipzig"
|
visit search_path body: "leipzig"
|
||||||
paper = @papers.first
|
paper = @papers.first
|
||||||
|
|
Loading…
Reference in a new issue