mirror of
https://github.com/CodeforLeipzig/stadtratmonitor.git
synced 2024-12-22 15:43:14 +01:00
28 - cover stemming and compound feature with tests
This commit is contained in:
parent
9b7a3da1de
commit
739e666f7b
1 changed files with 81 additions and 0 deletions
|
@ -129,4 +129,85 @@ RSpec.feature "Basic search", type: :feature, elasticsearch: true do
|
||||||
linkName2 = getLinkName(newPaper2)
|
linkName2 = getLinkName(newPaper2)
|
||||||
expect(resultSubEntries[1]).to have_link(linkName2, href: newPaper2.url)
|
expect(resultSubEntries[1]).to have_link(linkName2, href: newPaper2.url)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "Papers with common reference id handled also for missing prefix" do
|
||||||
|
mainPaper = FactoryGirl.create(:paper, published_at: '2016-12-19T19:00:00',
|
||||||
|
name: "Opendata als default", reference: "VI-0815")
|
||||||
|
newPaper1 = FactoryGirl.create(:paper, published_at: '2016-12-23T12:00:00',
|
||||||
|
name: "Opendata als optional", reference: "VI-0815-NF-01")
|
||||||
|
newPaper1Change = FactoryGirl.create(:paper, published_at: '2016-12-23T12:00:00',
|
||||||
|
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)
|
||||||
|
|
||||||
|
resultSubEntries = resultEntry.find("ul").all("li")
|
||||||
|
linkName1 = getLinkName(newPaper1)
|
||||||
|
expect(resultSubEntries[2]).to have_link(linkName1, href: newPaper1.url)
|
||||||
|
linkName2 = getLinkName(newPaper1Change)
|
||||||
|
expect(resultSubEntries[1]).to have_link(linkName2, href: newPaper1Change.url)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Finds 'Testen' with search 'Test'" do
|
||||||
|
paper = FactoryGirl.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)
|
||||||
|
expect(resultEntry).to have_content(paper.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Finds 'Test' with search 'Testen'" do
|
||||||
|
paper = FactoryGirl.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)
|
||||||
|
expect(resultEntry).to have_content(paper.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Finds 'Fahrräderverleih' with search 'Fahrrad'" do
|
||||||
|
paper = FactoryGirl.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)
|
||||||
|
expect(resultEntry).to have_content(paper.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Finds 'Fahrräderverleih' with search 'Fahrräder'" do
|
||||||
|
paper = FactoryGirl.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)
|
||||||
|
expect(resultEntry).to have_content(paper.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Finds 'Fahrräderverleih' with search 'Verleih'" do
|
||||||
|
paper = FactoryGirl.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)
|
||||||
|
expect(resultEntry).to have_content(paper.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Finds 'Fahrräderverleih' with search 'Autoverleih'" do
|
||||||
|
paper = FactoryGirl.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)
|
||||||
|
expect(resultEntry).to have_content(paper.name)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario "Finds no 'Fahrrad' with search 'Rad'" do
|
||||||
|
paper = FactoryGirl.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")
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue