summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/routes.rb1
-rw-r--r--test/integration/layout_test.rb10
-rw-r--r--test/integration/routing/search_test.rb4
3 files changed, 15 insertions, 0 deletions
diff --git a/config/routes.rb b/config/routes.rb
index 5cba46c00..51bb66cca 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -339,6 +339,7 @@ ActionController::Routing::Routes.draw do |map|
map.resources :roles, :except => :show, :collection => {:permissions => [:get, :post]}
map.resources :enumerations, :except => :show
+ map.connect 'projects/:id/search', :controller => 'search', :action => 'index', :conditions => {:method => :get}
map.connect 'search', :controller => 'search', :action => 'index', :conditions => {:method => :get}
map.connect 'mail_handler', :controller => 'mail_handler',
diff --git a/test/integration/layout_test.rb b/test/integration/layout_test.rb
index 853bfea4a..682b9bee5 100644
--- a/test/integration/layout_test.rb
+++ b/test/integration/layout_test.rb
@@ -53,4 +53,14 @@ class LayoutTest < ActionController::IntegrationTest
:attributes => {:src => %r{^/javascripts/jstoolbar/textile.js}},
:parent => {:tag => 'head'}
end
+
+ def test_search_field_outside_project_should_link_to_global_search
+ get '/'
+ assert_select 'div#quick-search form[action=/search]'
+ end
+
+ def test_search_field_inside_project_should_link_to_project_search
+ get '/projects/ecookbook'
+ assert_select 'div#quick-search form[action=/projects/ecookbook/search]'
+ end
end
diff --git a/test/integration/routing/search_test.rb b/test/integration/routing/search_test.rb
index 23c1271eb..f5b24ce35 100644
--- a/test/integration/routing/search_test.rb
+++ b/test/integration/routing/search_test.rb
@@ -23,5 +23,9 @@ class RoutingSearchTest < ActionController::IntegrationTest
{ :method => 'get', :path => "/search" },
{ :controller => 'search', :action => 'index' }
)
+ assert_routing(
+ { :method => 'get', :path => "/projects/foo/search" },
+ { :controller => 'search', :action => 'index', :id => 'foo' }
+ )
end
end