mirror of
https://github.com/CodeforLeipzig/stadtratmonitor.git
synced 2025-04-20 07:11:33 +02:00
Rubocop autocorrect specs
This commit is contained in:
parent
247f4b85b7
commit
5c2e1bfe1e
13 changed files with 279 additions and 269 deletions
|
@ -1,130 +1,130 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'rails_helper'
|
||||
require 'pp'
|
||||
|
||||
RSpec.feature "Basic search", type: :feature, elasticsearch: true do
|
||||
|
||||
RSpec.feature 'Basic search', type: :feature, elasticsearch: true do
|
||||
before(:each) do
|
||||
@papers = FactoryBot.create_list(:paper, 11)
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
end
|
||||
|
||||
scenario "It displays the search form" do
|
||||
visit search_path body: "leipzig"
|
||||
expect(page).to have_content("Stadtratmonitor")
|
||||
expect(page).to have_field("paper_search_query")
|
||||
expect(page).to have_select("Typ")
|
||||
expect(page).to have_select("Einreicher")
|
||||
expect(page).to have_selector("label", text: "Sortierung")
|
||||
expect(page).to have_field("paper_search_sort_by_date", type: "radio")
|
||||
expect(page).to have_field("paper_search_sort_by_score", type: "radio")
|
||||
scenario 'It displays the search form' do
|
||||
visit search_path body: 'leipzig'
|
||||
expect(page).to have_content('Stadtratmonitor')
|
||||
expect(page).to have_field('paper_search_query')
|
||||
expect(page).to have_select('Typ')
|
||||
expect(page).to have_select('Einreicher')
|
||||
expect(page).to have_selector('label', text: 'Sortierung')
|
||||
expect(page).to have_field('paper_search_sort_by_date', type: 'radio')
|
||||
expect(page).to have_field('paper_search_sort_by_score', type: 'radio')
|
||||
end
|
||||
|
||||
scenario "With empty query displays all documents" do
|
||||
visit search_path body: "leipzig"
|
||||
expect(page).to have_selector("ul#search_results")
|
||||
scenario 'With empty query displays all documents' do
|
||||
visit search_path body: 'leipzig'
|
||||
expect(page).to have_selector('ul#search_results')
|
||||
expect(page).to have_content("#{@papers.size} Dokumente in der Datenbank")
|
||||
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")
|
||||
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")
|
||||
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
|
||||
visit search_path body: "leipzig"
|
||||
scenario 'Search results have basic information' do
|
||||
visit search_path body: 'leipzig'
|
||||
paper = @papers.first
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
|
||||
resultSubEntry = resultEntry.find("li.current", match: :first)
|
||||
resultSubEntry = resultEntry.find('li.current', match: :first)
|
||||
linkName = getLinkName(paper)
|
||||
expect(resultSubEntry).to have_link(linkName, href: paper.url)
|
||||
end
|
||||
|
||||
def getLinkName(paper)
|
||||
dateStr = I18n.l(paper.published_at.to_date)
|
||||
originatorStr = (paper.originator.kind_of?(Array) ?
|
||||
paper.originator.join(", ") : paper.originator)
|
||||
return "#{dateStr}: #{paper.paper_type} von #{originatorStr}"
|
||||
originatorStr = (paper.originator.is_a?(Array) ?
|
||||
paper.originator.join(', ') : paper.originator)
|
||||
"#{dateStr}: #{paper.paper_type} von #{originatorStr}"
|
||||
end
|
||||
|
||||
scenario "Finds papers by name" do
|
||||
paper = FactoryBot.create(:paper, name: "Opendata als default")
|
||||
scenario 'Finds papers by name' do
|
||||
paper = FactoryBot.create(:paper, name: 'Opendata als default')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Opendata"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Opendata' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
|
||||
resultSubEntry = resultEntry.find("li.current", match: :first)
|
||||
resultSubEntry = resultEntry.find('li.current', match: :first)
|
||||
linkName = getLinkName(paper)
|
||||
expect(resultSubEntry).to have_link(linkName, href: paper.url)
|
||||
end
|
||||
|
||||
scenario "Finds papers by content" do
|
||||
scenario 'Finds papers by content' do
|
||||
paper = FactoryBot.create(:paper,
|
||||
name: "Opendata als default",
|
||||
content: "Alle Verwaltungsdokumente werden als Opendata veröffentlicht"
|
||||
)
|
||||
name: 'Opendata als default',
|
||||
content: 'Alle Verwaltungsdokumente werden als Opendata veröffentlicht')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Verwaltungsdokumente"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Verwaltungsdokumente' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
|
||||
resultSubEntry = resultEntry.find("li.current", match: :first)
|
||||
resultSubEntry = resultEntry.find('li.current', match: :first)
|
||||
linkName = getLinkName(paper)
|
||||
expect(resultSubEntry).to have_link(linkName, href: paper.url)
|
||||
end
|
||||
|
||||
scenario "Papers with common reference id in search result ordered by date" do
|
||||
scenario 'Papers with common reference id in search result ordered by date' do
|
||||
mainPaper = FactoryBot.create(:paper, published_at: '2016-12-19T19:00:00',
|
||||
name: "Opendata als default", reference: "VI-0815")
|
||||
name: 'Opendata als default', reference: 'VI-0815')
|
||||
newPaper = FactoryBot.create(:paper, published_at: '2016-12-23T12:00:00',
|
||||
name: "Opendata als optional", reference: "VI-0815-ÄA-01")
|
||||
name: 'Opendata als optional', reference: 'VI-0815-ÄA-01')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "default"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'default' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(mainPaper.name)
|
||||
|
||||
resultSubEntry1 = resultEntry.find("li.current", match: :first)
|
||||
resultSubEntry1 = resultEntry.find('li.current', match: :first)
|
||||
linkName1 = getLinkName(mainPaper)
|
||||
expect(resultSubEntry1).to have_link(linkName1, href: mainPaper.url)
|
||||
|
||||
resultSubEntries = resultEntry.find("ul").all("li")
|
||||
resultSubEntries = resultEntry.find('ul').all('li')
|
||||
linkName2 = getLinkName(newPaper)
|
||||
expect(resultSubEntries[0]).to have_link(linkName2, href: newPaper.url)
|
||||
expect(resultSubEntries[1]).to have_link(linkName1, href: mainPaper.url)
|
||||
end
|
||||
|
||||
scenario "Papers with common reference id in search result ordered by ref" do
|
||||
scenario 'Papers with common reference id in search result ordered by ref' do
|
||||
mainPaper = FactoryBot.create(:paper, published_at: '2016-12-19T19:00:00',
|
||||
name: "Opendata als default", reference: "VI-0815")
|
||||
name: 'Opendata als default', reference: 'VI-0815')
|
||||
newPaper1 = FactoryBot.create(:paper, published_at: '2016-12-23T12:00:00',
|
||||
name: "Opendata als optional", reference: "VI-0815-ÄA-02")
|
||||
name: 'Opendata als optional', reference: 'VI-0815-ÄA-02')
|
||||
newPaper2 = FactoryBot.create(:paper, published_at: '2016-12-23T12:00:00',
|
||||
name: "Opendata als optional", reference: "VI-0815-ÄA-01")
|
||||
name: 'Opendata als optional', reference: 'VI-0815-ÄA-01')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "default"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'default' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
|
||||
resultSubEntries = resultEntry.find("ul").all("li")
|
||||
resultSubEntries = resultEntry.find('ul').all('li')
|
||||
linkName1 = getLinkName(newPaper1)
|
||||
expect(resultSubEntries[0]).to have_link(linkName1, href: newPaper1.url)
|
||||
linkName2 = getLinkName(newPaper2)
|
||||
|
@ -133,19 +133,19 @@ RSpec.feature "Basic search", type: :feature, elasticsearch: true do
|
|||
expect(resultSubEntries[2]).to have_link(linkName3, href: mainPaper.url)
|
||||
end
|
||||
|
||||
scenario "Papers with common reference id handled also for missing prefix" do
|
||||
scenario 'Papers with common reference id handled also for missing prefix' do
|
||||
mainPaper = FactoryBot.create(:paper, published_at: '2016-12-19T19:00:00',
|
||||
name: "Opendata als default", reference: "VI-0815")
|
||||
name: 'Opendata als default', reference: 'VI-0815')
|
||||
newPaper1 = FactoryBot.create(:paper, published_at: '2016-12-23T12:00:00',
|
||||
name: "Opendata als optional", reference: "VI-0815-NF-01")
|
||||
name: 'Opendata als optional', reference: 'VI-0815-NF-01')
|
||||
newPaper1Change = FactoryBot.create(:paper, published_at: '2016-12-23T12:00:00',
|
||||
name: "Opendata als nicht optional", reference: "-0815-NF-01-ÄA-01")
|
||||
name: 'Opendata als nicht optional', reference: '-0815-NF-01-ÄA-01')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "default"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'default' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
|
||||
resultSubEntries = resultEntry.find("ul").all("li")
|
||||
resultSubEntries = resultEntry.find('ul').all('li')
|
||||
linkName1 = getLinkName(newPaper1)
|
||||
expect(resultSubEntries[0]).to have_link(linkName1, href: newPaper1.url)
|
||||
linkName2 = getLinkName(newPaper1Change)
|
||||
|
@ -155,85 +155,84 @@ RSpec.feature "Basic search", type: :feature, elasticsearch: true do
|
|||
end
|
||||
|
||||
scenario "Finds 'Testen' with search 'Test'" do
|
||||
paper = FactoryBot.create(:paper, name: "Testen")
|
||||
paper = FactoryBot.create(:paper, name: 'Testen')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Test"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Test' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
end
|
||||
|
||||
scenario "Finds 'Test' with search 'Testen'" do
|
||||
paper = FactoryBot.create(:paper, name: "Test")
|
||||
paper = FactoryBot.create(:paper, name: 'Test')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Testen"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Testen' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
end
|
||||
|
||||
scenario "Finds 'Fahrräderverleih' with search 'Fahrrad'" do
|
||||
paper = FactoryBot.create(:paper, name: "Fahrräderverleih")
|
||||
paper = FactoryBot.create(:paper, name: 'Fahrräderverleih')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Fahrrad"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Fahrrad' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
end
|
||||
|
||||
scenario "Finds 'Fahrräderverleih' with search 'Fahrräder'" do
|
||||
paper = FactoryBot.create(:paper, name: "Fahrräderverleih")
|
||||
paper = FactoryBot.create(:paper, name: 'Fahrräderverleih')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Fahrräder"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Fahrräder' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
end
|
||||
|
||||
scenario "Finds 'Fahrräderverleih' with search 'Verleih'" do
|
||||
paper = FactoryBot.create(:paper, name: "Fahrräderverleih")
|
||||
paper = FactoryBot.create(:paper, name: 'Fahrräderverleih')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Verleih"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Verleih' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
end
|
||||
|
||||
scenario "Finds 'Fahrräderverleih' with search 'Autoverleih'" do
|
||||
paper = FactoryBot.create(:paper, name: "Fahrräderverleih")
|
||||
paper = FactoryBot.create(:paper, name: 'Fahrräderverleih')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Autoverleih"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Autoverleih' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(paper.name)
|
||||
end
|
||||
|
||||
scenario "Finds no 'Fahrrad' with search 'Rad'" do
|
||||
paper = FactoryBot.create(:paper, name: "Fahrrad")
|
||||
paper = FactoryBot.create(:paper, name: 'Fahrrad')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "Rad"}
|
||||
expect(page).to have_content("0 Dokumente in der Datenbank")
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'Rad' }
|
||||
expect(page).to have_content('0 Dokumente in der Datenbank')
|
||||
end
|
||||
|
||||
scenario "Papers with reference id having slash is escaped" do
|
||||
scenario 'Papers with reference id having slash is escaped' do
|
||||
mainPaper = FactoryBot.create(:paper, published_at: '2016-12-19T19:00:00',
|
||||
name: "Opendata als default", reference: "VI-00768/14")
|
||||
name: 'Opendata als default', reference: 'VI-00768/14')
|
||||
newPaper = FactoryBot.create(:paper, published_at: '2016-12-23T12:00:00',
|
||||
name: "Opendata als optional", reference: "VI-00768/14-ÄA-01")
|
||||
name: 'Opendata als optional', reference: 'VI-00768/14-ÄA-01')
|
||||
Paper.__elasticsearch__.refresh_index!
|
||||
visit search_path body: "leipzig", paper_search: {query: "default"}
|
||||
expect(page).to have_content("1 Dokument in der Datenbank")
|
||||
resultEntry = page.find("li.search-result", match: :first)
|
||||
visit search_path body: 'leipzig', paper_search: { query: 'default' }
|
||||
expect(page).to have_content('1 Dokument in der Datenbank')
|
||||
resultEntry = page.find('li.search-result', match: :first)
|
||||
expect(resultEntry).to have_content(mainPaper.name)
|
||||
|
||||
resultSubEntry1 = resultEntry.find("li.current", match: :first)
|
||||
resultSubEntry1 = resultEntry.find('li.current', match: :first)
|
||||
linkName1 = getLinkName(mainPaper)
|
||||
expect(resultSubEntry1).to have_link(linkName1, href: mainPaper.url)
|
||||
|
||||
resultSubEntries = resultEntry.find("ul").all("li")
|
||||
resultSubEntries = resultEntry.find('ul').all('li')
|
||||
linkName2 = getLinkName(newPaper)
|
||||
expect(resultSubEntries[0]).to have_link(linkName2, href: newPaper.url)
|
||||
expect(resultSubEntries[1]).to have_link(linkName1, href: mainPaper.url)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue