Commit 3976630c authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'fix-wiki-search' into 'master'

Fix Error 500 when searching Wiki pages

If a Wiki page turns up a hit in the search results, an error will occur:

```
Completed 500 Internal Server Error in 836ms

NoMethodError - undefined method `slug' for "test.markdown":String:
  app/helpers/wiki_helper.rb:10:in `namespace_project_wiki_path'
  app/views/search/results/_wiki_blob.html.haml:4:in `_app_views_search_results__wiki_blob_html_haml___2752621660395393333_70299911622700'
  actionview (4.1.9) lib/action_view/template.rb:145:in `block in render'
  activesupport (4.1.9) lib/active_support/notifications.rb:161:in `instrument'
  actionview (4.1.9) lib/action_view/template.rb:339:in `instrument'
  actionview (4.1.9) lib/action_view/template.rb:143:in `render'
```

An unhandled String containing the name of the Wiki page would be provided to the URL path generator. This MR handles that case.

Closes #1547

See merge request !592
parent 7ef05ad0
Please view this file on the master branch, on stable branches it's out of date. Please view this file on the master branch, on stable branches it's out of date.
v 7.11.0 (unreleased) v 7.11.0 (unreleased)
- Make Reply-To config apply to change e-mail confirmation and other Devise notifications (Stan Hu)
- Add application setting to restrict user signups to e-mail domains (Stan Hu)
- Don't allow a merge request to be merged when its title starts with "WIP".
- Add a page title to every page.
- Allow primary email to be set to an email that you've already added.
- Fix Error 500 when searching Wiki pages (Stan Hu)
- Get Gitorious importer to work again. - Get Gitorious importer to work again.
- Fix clone URL field and X11 Primary selection (Dmitry Medvinsky) - Fix clone URL field and X11 Primary selection (Dmitry Medvinsky)
- Ignore invalid lines in .gitmodules - Ignore invalid lines in .gitmodules
......
...@@ -6,6 +6,8 @@ module WikiHelper ...@@ -6,6 +6,8 @@ module WikiHelper
case wiki_page case wiki_page
when Symbol when Symbol
wiki_page wiki_page
when String
wiki_page
else else
wiki_page.slug wiki_page.slug
end end
......
...@@ -44,3 +44,9 @@ Feature: Search ...@@ -44,3 +44,9 @@ Feature: Search
Then I should see "Foo" link in the search results Then I should see "Foo" link in the search results
And I should not see "Bar" link in the search results And I should not see "Bar" link in the search results
Scenario: I should see Wiki blobs
And project has Wiki content
When I click project "Shop" link
And I search for "Wiki content"
And I click "Wiki" link
Then I should see "test_wiki" link in the search results
...@@ -159,6 +159,11 @@ class Spinach::Features::ProjectWiki < Spinach::FeatureSteps ...@@ -159,6 +159,11 @@ class Spinach::Features::ProjectWiki < Spinach::FeatureSteps
page.should have_content('History for') page.should have_content('History for')
end end
step 'I search for Wiki content' do
fill_in "Search in this project", with: "wiki_content"
click_button "Search"
end
def wiki def wiki
@project_wiki = ProjectWiki.new(project, current_user) @project_wiki = ProjectWiki.new(project, current_user)
end end
......
...@@ -18,6 +18,11 @@ class Spinach::Features::Search < Spinach::FeatureSteps ...@@ -18,6 +18,11 @@ class Spinach::Features::Search < Spinach::FeatureSteps
click_button "Search" click_button "Search"
end end
step 'I search for "Wiki content"' do
fill_in "dashboard_search", with: "content"
click_button "Search"
end
step 'I click "Issues" link' do step 'I click "Issues" link' do
within '.search-filter' do within '.search-filter' do
click_link 'Issues' click_link 'Issues'
...@@ -36,6 +41,12 @@ class Spinach::Features::Search < Spinach::FeatureSteps ...@@ -36,6 +41,12 @@ class Spinach::Features::Search < Spinach::FeatureSteps
end end
end end
step 'I click "Wiki" link' do
within '.search-filter' do
click_link 'Wiki'
end
end
step 'I should see "Shop" project link' do step 'I should see "Shop" project link' do
page.should have_link "Shop" page.should have_link "Shop"
end end
...@@ -66,4 +77,13 @@ class Spinach::Features::Search < Spinach::FeatureSteps ...@@ -66,4 +77,13 @@ class Spinach::Features::Search < Spinach::FeatureSteps
step 'I should not see "Bar" link in the search results' do step 'I should not see "Bar" link in the search results' do
find(:css, '.search-results').should_not have_link 'Bar' find(:css, '.search-results').should_not have_link 'Bar'
end end
step 'I should see "test_wiki" link in the search results' do
find(:css, '.search-results').should have_link 'test_wiki.md'
end
step 'project has Wiki content' do
@wiki = ::ProjectWiki.new(project, current_user)
@wiki.create_page("test_wiki", "Some Wiki content", :markdown, "first commit")
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment