mirror of
https://github.com/TracksApp/tracks.git
synced 2026-01-01 14:58:50 +01:00
fix #1307 and add basic test
This commit is contained in:
parent
6e1ad5e200
commit
5a24644aad
3 changed files with 26 additions and 173 deletions
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
<%= render :layout => 'show_results_collection', :object => @found_tags, :locals => { :collection_name => "found-tags", :collection_title => t('search.tags_matching_query')} do %>
|
||||
<span class="tags"><% @found_tags.each do |tag| -%>
|
||||
<span class="tag"><%= link_to tag.name, {:controller => "todos", :action => "tag", :id => tag.name} -%></span>
|
||||
<span class="tag"><%= link_to tag.name, tag_path(tag.name) -%></span>
|
||||
<% end %>
|
||||
</span><br/><br/>
|
||||
<% end -%>
|
||||
|
|
|
|||
176
config/routes.rb
176
config/routes.rb
|
|
@ -1,61 +1,4 @@
|
|||
Tracksapp::Application.routes.draw do
|
||||
# The priority is based upon order of creation:
|
||||
# first created -> highest priority.
|
||||
|
||||
# Sample of regular route:
|
||||
# match 'products/:id' => 'catalog#view'
|
||||
# Keep in mind you can assign values other than :controller and :action
|
||||
|
||||
# Sample of named route:
|
||||
# match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
|
||||
# This route can be invoked with purchase_url(:id => product.id)
|
||||
|
||||
# Sample resource route (maps HTTP verbs to controller actions automatically):
|
||||
# resources :products
|
||||
|
||||
# Sample resource route with options:
|
||||
# resources :products do
|
||||
# member do
|
||||
# get 'short'
|
||||
# post 'toggle'
|
||||
# end
|
||||
#
|
||||
# collection do
|
||||
# get 'sold'
|
||||
# end
|
||||
# end
|
||||
|
||||
# Sample resource route with sub-resources:
|
||||
# resources :products do
|
||||
# resources :comments, :sales
|
||||
# resource :seller
|
||||
# end
|
||||
|
||||
# Sample resource route with more complex sub-resources
|
||||
# resources :products do
|
||||
# resources :comments
|
||||
# resources :sales do
|
||||
# get 'recent', :on => :collection
|
||||
# end
|
||||
# end
|
||||
|
||||
# Sample resource route within a namespace:
|
||||
# namespace :admin do
|
||||
# # Directs /admin/products/* to Admin::ProductsController
|
||||
# # (app/controllers/admin/products_controller.rb)
|
||||
# resources :products
|
||||
# end
|
||||
|
||||
# You can have the root of your site routed with "root"
|
||||
# just remember to delete public/index.html.
|
||||
# root :to => 'welcome#index'
|
||||
|
||||
# See how all your routes lay out with "rake routes"
|
||||
|
||||
# This is a legacy wild controller route that's not recommended for RESTful applications.
|
||||
# Note: This route will make all actions in every controller accessible via GET requests.
|
||||
# match ':controller(/:action(/:id))(.:format)'
|
||||
|
||||
root :to => 'todos#index'
|
||||
|
||||
match 'login' => 'login#login'
|
||||
|
|
@ -67,6 +10,9 @@ Tracksapp::Application.routes.draw do
|
|||
match 'review' => "projects#review"
|
||||
match 'calendar' => "todos#calendar"
|
||||
match 'done' => "stats#done", :as => 'done_overview'
|
||||
|
||||
match 'search' => 'search#index'
|
||||
match 'search/results' => 'search#results', :via => 'post'
|
||||
|
||||
match 'data' => "data#index"
|
||||
match 'data/csv_notes' => 'data#csv_notes'
|
||||
|
|
@ -184,119 +130,5 @@ Tracksapp::Application.routes.draw do
|
|||
|
||||
resources :notes
|
||||
resources :preferences
|
||||
|
||||
match 'search' => 'search#index'
|
||||
match 'search/results' => 'search#results', :via => 'post'
|
||||
|
||||
# map.resources :users,
|
||||
# :member => {:change_password => :get, :update_password => :post,
|
||||
# :change_auth_type => :get, :update_auth_type => :post, :complete => :get,
|
||||
# :refresh_token => :post }
|
||||
#
|
||||
# map.with_options :controller => :users do |users|
|
||||
# users.signup 'signup', :action => "new"
|
||||
# end
|
||||
#
|
||||
# map.resources :contexts, :collection => {:order => :post, :done => :get}, :member => {:done_todos => :get, :all_done_todos => :get} do |contexts|
|
||||
# contexts.resources :todos, :name_prefix => "context_"
|
||||
# end
|
||||
#
|
||||
# map.resources :projects,
|
||||
# :collection => {:order => :post, :alphabetize => :post, :actionize => :post, :done => :get},
|
||||
# :member => {:done_todos => :get, :all_done_todos => :get, :set_reviewed => :get} do |projects|
|
||||
# projects.resources :todos, :name_prefix => "project_"
|
||||
# end
|
||||
#
|
||||
# map.with_options :controller => :projects do |projects|
|
||||
# projects.review 'review', :action => :review
|
||||
# end
|
||||
#
|
||||
# map.resources :notes
|
||||
#
|
||||
# map.resources :todos,
|
||||
# :member => {:toggle_check => :put, :toggle_star => :put, :defer => :put},
|
||||
# :collection => {:check_deferred => :post, :filter_to_context => :post, :filter_to_project => :post, :done => :get, :all_done => :get
|
||||
# }
|
||||
#
|
||||
# map.with_options :controller => :todos do |todos|
|
||||
# todos.home '', :action => "index"
|
||||
# todos.tickler 'tickler.:format', :action => "list_deferred"
|
||||
# todos.mobile_tickler 'tickler.m', :action => "list_deferred", :format => 'm'
|
||||
#
|
||||
# # This route works for tags with dots like /todos/tag/version1.5
|
||||
# # please note that this pattern consumes everything after /todos/tag
|
||||
# # so /todos/tag/version1.5.xml will result in :name => 'version1.5.xml'
|
||||
# # UPDATE: added support for mobile view. All tags ending on .m will be
|
||||
# # routed to mobile view of tags.
|
||||
# todos.mobile_tag 'todos/tag/:name.m', :action => "tag", :format => 'm'
|
||||
# todos.text_tag 'todos/tag/:name.txt', :action => "tag", :format => 'txt'
|
||||
# todos.tag 'todos/tag/:name', :action => "tag", :name => /.*/
|
||||
# todos.done_tag 'todos/done/tag/:name', :action => "done_tag"
|
||||
# todos.all_done_tag 'todos/all_done/tag/:name', :action => "all_done_tag"
|
||||
#
|
||||
# todos.auto_complete_for_predecessor 'auto_complete_for_predecessor', :action => 'auto_complete_for_predecessor'
|
||||
#
|
||||
# todos.calendar 'calendar.ics', :action => "calendar", :format => 'ics'
|
||||
# todos.calendar 'calendar.xml', :action => "calendar", :format => 'xml'
|
||||
# todos.calendar 'calendar', :action => "calendar"
|
||||
#
|
||||
# todos.hidden 'hidden.xml', :action => "list_hidden", :format => 'xml'
|
||||
#
|
||||
# todos.mobile 'mobile', :action => "index", :format => 'm'
|
||||
# todos.mobile_abbrev 'm', :action => "index", :format => 'm'
|
||||
# todos.mobile_abbrev_new 'm/new', :action => "new", :format => 'm'
|
||||
#
|
||||
# todos.mobile_todo_show_notes 'todos/notes/:id.m', :action => "show_notes", :format => 'm'
|
||||
# todos.todo_show_notes 'todos/notes/:id', :action => "show_notes"
|
||||
# todos.done_todos 'todos/done', :action => :done
|
||||
# todos.all_done_todos 'todos/all_done', :action => :all_done
|
||||
# end
|
||||
# map.root :controller => 'todos' # Make OpenID happy because it needs #root_url defined
|
||||
#
|
||||
# map.resources :recurring_todos, :collection => {:done => :get},
|
||||
# :member => {:toggle_check => :put, :toggle_star => :put}
|
||||
# map.with_options :controller => :recurring_todos do |rt|
|
||||
# rt.recurring_todos 'recurring_todos', :action => 'index'
|
||||
# end
|
||||
#
|
||||
# map.with_options :controller => :login do |login|
|
||||
# login.login 'login', :action => 'login'
|
||||
# login.login_cas 'login_cas', :action => 'login_cas'
|
||||
# login.formatted_login 'login.:format', :action => 'login'
|
||||
# login.logout 'logout', :action => 'logout'
|
||||
# login.formatted_logout 'logout.:format', :action => 'logout'
|
||||
# end
|
||||
#
|
||||
# map.with_options :controller => :feedlist do |fl|
|
||||
# fl.mobile_feeds 'feeds.m', :action => 'index', :format => 'm'
|
||||
# fl.feeds 'feeds', :action => 'index'
|
||||
# end
|
||||
#
|
||||
# map.with_options :controller => :integrations do |i|
|
||||
# i.integrations 'integrations', :action => 'index'
|
||||
# i.rest_api_docs 'integrations/rest_api', :action => "rest_api"
|
||||
# i.search_plugin 'integrations/search_plugin.xml', :action => 'search_plugin', :format => 'xml'
|
||||
# i.google_gadget 'integrations/google_gadget.xml', :action => 'google_gadget', :format => 'xml'
|
||||
# i.cloudmailin 'integrations/cloudmailin', :action => 'cloudmailin'
|
||||
# end
|
||||
#
|
||||
# map.with_options :controller => :preferences do |p|
|
||||
# p.preferences 'preferences', :action => 'index'
|
||||
# p.preferences_date_format 'preferences/render_date_format', :action => 'render_date_format'
|
||||
# end
|
||||
#
|
||||
# map.with_options :controller => :stats do |stats|
|
||||
# stats.stats 'stats', :action => 'index'
|
||||
# stats.done_overview 'done', :action => 'done'
|
||||
# end
|
||||
#
|
||||
# map.search 'search', :controller => 'search', :action => 'index'
|
||||
# map.data 'data', :controller => 'data', :action => 'index'
|
||||
#
|
||||
# Translate::Routes.translation_ui(map) if Rails.env != "production"
|
||||
#
|
||||
# # Install the default route as the lowest priority.
|
||||
# map.connect ':controller/:action/:id'
|
||||
#
|
||||
|
||||
|
||||
end
|
||||
|
|
|
|||
21
test/functional/search_controller_test.rb
Normal file
21
test/functional/search_controller_test.rb
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
||||
|
||||
class SearchControllerTest < ActionController::TestCase
|
||||
|
||||
def setup
|
||||
end
|
||||
|
||||
def test_get_search_page
|
||||
login_as :admin_user
|
||||
get :index
|
||||
assert_response 200
|
||||
end
|
||||
|
||||
def test_search_for_todo_with_tag
|
||||
login_as :admin_user
|
||||
post :results, :search => "gates"
|
||||
assert_response 200
|
||||
assert_equal 3, assigns['count'], "should have found 3 todos"
|
||||
end
|
||||
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue