diff --git a/test/functional/admin_controller_test.rb b/test/functional/admin_controller_test.rb index 142a374e..41fdda54 100644 --- a/test/functional/admin_controller_test.rb +++ b/test/functional/admin_controller_test.rb @@ -38,13 +38,6 @@ class AdminControllerTest < ActionController::TestCase :attributes => { :class => /nodata/ } end - def test_projects_routing - assert_routing( - {:method => :get, :path => '/admin/projects'}, - :controller => 'admin', :action => 'projects' - ) - end - def test_index_with_no_configuration_data delete_configuration_data get :index diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index 3a39887e..a0def242 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -1288,13 +1288,6 @@ class IssuesControllerTest < ActionController::TestCase assert_not_nil assigns(:notes) end - def test_auto_complete_routing - assert_routing( - {:method => :get, :path => '/issues/auto_complete'}, - :controller => 'issues', :action => 'auto_complete' - ) - end - def test_auto_complete_should_not_be_case_sensitive get :auto_complete, :project_id => 'ecookbook', :q => 'ReCiPe' assert_response :success @@ -1309,13 +1302,6 @@ class IssuesControllerTest < ActionController::TestCase assert assigns(:issues).include?(Issue.find(13)) end - def test_destroy_routing - assert_recognizes( #TODO: use DELETE on issue URI (need to change forms) - {:controller => 'issues', :action => 'destroy', :id => '1'}, - {:method => :post, :path => '/issues/1/destroy'} - ) - end - def test_destroy_issue_with_no_time_entries assert_nil TimeEntry.find_by_issue_id(2) @request.session[:user_id] = 2 diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index 6823eb30..d178f8f8 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -34,21 +34,6 @@ class UsersControllerTest < ActionController::TestCase @request.session[:user_id] = 1 # admin end - def test_index_routing - assert_generates( - '/users', - :controller => 'users', :action => 'index' - ) - assert_routing( - {:method => :get, :path => '/users'}, - :controller => 'users', :action => 'index' - ) - assert_recognizes( - {:controller => 'users', :action => 'index'}, - {:method => :get, :path => '/users'} - ) - end - def test_index get :index assert_response :success @@ -74,17 +59,6 @@ class UsersControllerTest < ActionController::TestCase assert_equal 'John', users.first.firstname end - def test_show_routing - assert_routing( - {:method => :get, :path => '/users/44'}, - :controller => 'users', :action => 'show', :id => '44' - ) - assert_recognizes( - {:controller => 'users', :action => 'show', :id => '44'}, - {:method => :get, :path => '/users/44'} - ) - end - def test_show @request.session[:user_id] = nil get :show, :id => 2 @@ -123,38 +97,6 @@ class UsersControllerTest < ActionController::TestCase assert_not_nil assigns(:user) end - def test_add_routing - assert_routing( - {:method => :get, :path => '/users/new'}, - :controller => 'users', :action => 'add' - ) - assert_recognizes( - #TODO: remove this and replace with POST to collection, need to modify form - {:controller => 'users', :action => 'add'}, - {:method => :post, :path => '/users/new'} - ) - assert_recognizes( - {:controller => 'users', :action => 'add'}, - {:method => :post, :path => '/users'} - ) - end - - def test_edit_routing - assert_routing( - {:method => :get, :path => '/users/444/edit'}, - :controller => 'users', :action => 'edit', :id => '444' - ) - assert_routing( - {:method => :get, :path => '/users/222/edit/membership'}, - :controller => 'users', :action => 'edit', :id => '222', :tab => 'membership' - ) - assert_recognizes( - #TODO: use PUT on user_path, modify form - {:controller => 'users', :action => 'edit', :id => '444'}, - {:method => :post, :path => '/users/444/edit'} - ) - end - def test_edit ActionMailer::Base.deliveries.clear post :edit, :id => 2, :user => {:firstname => 'Changed'} @@ -192,20 +134,6 @@ class UsersControllerTest < ActionController::TestCase assert mail.body.include?('newpass') end - def test_add_membership_routing - assert_routing( - {:method => :post, :path => '/users/123/memberships'}, - :controller => 'users', :action => 'edit_membership', :id => '123' - ) - end - - def test_edit_membership_routing - assert_routing( - {:method => :post, :path => '/users/123/memberships/55'}, - :controller => 'users', :action => 'edit_membership', :id => '123', :membership_id => '55' - ) - end - def test_edit_membership post :edit_membership, :id => 2, :membership_id => 1, :membership => { :role_ids => [2]} @@ -213,14 +141,6 @@ class UsersControllerTest < ActionController::TestCase assert_equal [2], Member.find(1).role_ids end - def test_destroy_membership - assert_routing( - #TODO: use DELETE method on user_membership_path, modify form - {:method => :post, :path => '/users/567/memberships/12/destroy'}, - :controller => 'users', :action => 'destroy_membership', :id => '567', :membership_id => '12' - ) - end - def test_destroy_membership post :destroy_membership, :id => 2, :membership_id => 1 assert_redirected_to :action => 'edit', :id => '2', :tab => 'memberships' diff --git a/test/functional/versions_controller_test.rb b/test/functional/versions_controller_test.rb index 46a5db91..e4864c90 100644 --- a/test/functional/versions_controller_test.rb +++ b/test/functional/versions_controller_test.rb @@ -40,17 +40,6 @@ class VersionsControllerTest < ActionController::TestCase assert_tag :tag => 'h2', :content => /1.0/ end - def test_new_routing - assert_routing( - {:method => :get, :path => 'projects/foo/versions/new'}, - :controller => 'versions', :action => 'new', :project_id => 'foo' - ) - assert_routing( - {:method => :post, :path => 'projects/foo/versions/new'}, - :controller => 'versions', :action => 'new', :project_id => 'foo' - ) - end - def test_new @request.session[:user_id] = 2 # manager assert_difference 'Version.count' do diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb index 298cfee9..76aa0246 100644 --- a/test/functional/wiki_controller_test.rb +++ b/test/functional/wiki_controller_test.rb @@ -31,21 +31,6 @@ class WikiControllerTest < ActionController::TestCase User.current = nil end - def test_index_routing - assert_routing( - {:method => :get, :path => '/projects/567/wiki'}, - :controller => 'wiki', :action => 'index', :id => '567' - ) - assert_routing( - {:method => :get, :path => '/projects/567/wiki/lalala'}, - :controller => 'wiki', :action => 'index', :id => '567', :page => 'lalala' - ) - assert_generates( - '/projects/567/wiki', - :controller => 'wiki', :action => 'index', :id => '567', :page => nil - ) - end - def test_show_start_page get :index, :id => 'ecookbook' assert_response :success @@ -93,17 +78,6 @@ class WikiControllerTest < ActionController::TestCase assert_template 'edit' end - def test_edit_routing - assert_routing( - {:method => :get, :path => '/projects/567/wiki/my_page/edit'}, - :controller => 'wiki', :action => 'edit', :id => '567', :page => 'my_page' - ) - assert_recognizes(#TODO: use PUT to page path, adjust forms accordingly - {:controller => 'wiki', :action => 'edit', :id => '567', :page => 'my_page'}, - {:method => :post, :path => '/projects/567/wiki/my_page/edit'} - ) - end - def test_create_page @request.session[:user_id] = 2 post :edit, :id => 1, @@ -135,13 +109,6 @@ class WikiControllerTest < ActionController::TestCase assert_equal 'testfile.txt', page.attachments.first.filename end - def test_preview_routing - assert_routing( - {:method => :post, :path => '/projects/567/wiki/CookBook_documentation/preview'}, - :controller => 'wiki', :action => 'preview', :id => '567', :page => 'CookBook_documentation' - ) - end - def test_preview @request.session[:user_id] = 2 xhr :post, :preview, :id => 1, :page => 'CookBook_documentation', @@ -164,13 +131,6 @@ class WikiControllerTest < ActionController::TestCase assert_tag :tag => 'h1', :content => /New page/ end - def test_history_routing - assert_routing( - {:method => :get, :path => '/projects/1/wiki/CookBook_documentation/history'}, - :controller => 'wiki', :action => 'history', :id => '1', :page => 'CookBook_documentation' - ) - end - def test_history get :history, :id => 1, :page => 'CookBook_documentation' assert_response :success @@ -189,13 +149,6 @@ class WikiControllerTest < ActionController::TestCase assert_select "input[type=submit][name=commit]", false end - def test_diff_routing - assert_routing( - {:method => :get, :path => '/projects/1/wiki/CookBook_documentation/diff/2/vs/1'}, - :controller => 'wiki', :action => 'diff', :id => '1', :page => 'CookBook_documentation', :version => '2', :version_from => '1' - ) - end - def test_diff get :diff, :id => 1, :page => 'CookBook_documentation', :version => 2, :version_from => 1 assert_response :success @@ -204,13 +157,6 @@ class WikiControllerTest < ActionController::TestCase :content => /updated/ end - def test_annotate_routing - assert_routing( - {:method => :get, :path => '/projects/1/wiki/CookBook_documentation/annotate/2'}, - :controller => 'wiki', :action => 'annotate', :id => '1', :page => 'CookBook_documentation', :version => '2' - ) - end - def test_annotate get :annotate, :id => 1, :page => 'CookBook_documentation', :version => 2 assert_response :success @@ -225,18 +171,6 @@ class WikiControllerTest < ActionController::TestCase :child => { :tag => 'td', :content => /Some updated \[\[documentation\]\] here/ } end - def test_rename_routing - assert_routing( - {:method => :get, :path => '/projects/22/wiki/ladida/rename'}, - :controller => 'wiki', :action => 'rename', :id => '22', :page => 'ladida' - ) - assert_recognizes( - #TODO: should be moved into a update action and use a PUT to the page URI - {:controller => 'wiki', :action => 'rename', :id => '22', :page => 'ladida'}, - {:method => :post, :path => '/projects/22/wiki/ladida/rename'} - ) - end - def test_rename_with_redirect @request.session[:user_id] = 2 post :rename, :id => 1, :page => 'Another_page', @@ -260,14 +194,6 @@ class WikiControllerTest < ActionController::TestCase assert_nil wiki.find_page('Another page') end - def test_destroy_routing - assert_recognizes( - #TODO: should use DELETE on page URI - {:controller => 'wiki', :action => 'destroy', :id => '22', :page => 'ladida'}, - {:method => :post, :path => 'projects/22/wiki/ladida/destroy'} - ) - end - def test_destroy_child @request.session[:user_id] = 2 post :destroy, :id => 1, :page => 'Child_1' @@ -312,25 +238,6 @@ class WikiControllerTest < ActionController::TestCase assert_equal WikiPage.find(1), WikiPage.find_by_id(5).parent end - def test_special_routing - assert_routing( - {:method => :get, :path => '/projects/567/wiki/page_index'}, - :controller => 'wiki', :action => 'special', :id => '567', :page => 'page_index' - ) - assert_routing( - {:method => :get, :path => '/projects/567/wiki/Page_Index'}, - :controller => 'wiki', :action => 'special', :id => '567', :page => 'Page_Index' - ) - assert_routing( - {:method => :get, :path => '/projects/567/wiki/date_index'}, - :controller => 'wiki', :action => 'special', :id => '567', :page => 'date_index' - ) - assert_routing( - {:method => :get, :path => '/projects/567/wiki/export'}, - :controller => 'wiki', :action => 'special', :id => '567', :page => 'export' - ) - end - def test_page_index get :special, :id => 'ecookbook', :page => 'Page_index' assert_response :success @@ -355,13 +262,6 @@ class WikiControllerTest < ActionController::TestCase assert_response 404 end - def test_protect_routing - assert_routing( - {:method => :post, :path => 'projects/22/wiki/ladida/protect'}, - {:controller => 'wiki', :action => 'protect', :id => '22', :page => 'ladida'} - ) - end - def test_protect_page page = WikiPage.find_by_wiki_id_and_title(1, 'Another_page') assert !page.protected? diff --git a/test/integration/routing_test.rb b/test/integration/routing_test.rb index c70247ac..969aa7f1 100644 --- a/test/integration/routing_test.rb +++ b/test/integration/routing_test.rb @@ -59,10 +59,56 @@ class RoutingTest < ActionController::IntegrationTest should_route :post, "/issues/gantt", :controller => 'issues', :action => 'gantt' should_route :get, "/projects/project-name/issues/gantt", :controller => 'issues', :action => 'gantt', :project_id => 'project-name' should_route :post, "/projects/project-name/issues/gantt", :controller => 'issues', :action => 'gantt', :project_id => 'project-name' + + should_route :get, "/issues/auto_complete", :controller => 'issues', :action => 'auto_complete' end context "issue reports" do should_route :get, "/projects/567/issues/report", :controller => 'reports', :action => 'issue_report', :id => '567' should_route :get, "/projects/567/issues/report/assigned_to", :controller => 'reports', :action => 'issue_report_details', :id => '567', :detail => 'assigned_to' end + + context "users" do + should_route :get, "/users", :controller => 'users', :action => 'index' + should_route :get, "/users/44", :controller => 'users', :action => 'show', :id => '44' + should_route :get, "/users/new", :controller => 'users', :action => 'add' + should_route :get, "/users/444/edit", :controller => 'users', :action => 'edit', :id => '444' + should_route :get, "/users/222/edit/membership", :controller => 'users', :action => 'edit', :id => '222', :tab => 'membership' + + should_route :post, "/users/new", :controller => 'users', :action => 'add' + should_route :post, "/users/444/edit", :controller => 'users', :action => 'edit', :id => '444' + should_route :post, "/users/123/memberships", :controller => 'users', :action => 'edit_membership', :id => '123' + should_route :post, "/users/123/memberships/55", :controller => 'users', :action => 'edit_membership', :id => '123', :membership_id => '55' + should_route :post, "/users/567/memberships/12/destroy", :controller => 'users', :action => 'destroy_membership', :id => '567', :membership_id => '12' + end + + context "versions" do + should_route :get, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo' + + should_route :post, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo' + end + + context "wikis" do + should_route :get, "/projects/567/wiki", :controller => 'wiki', :action => 'index', :id => '567' + should_route :get, "/projects/567/wiki/lalala", :controller => 'wiki', :action => 'index', :id => '567', :page => 'lalala' + should_route :get, "/projects/567/wiki/my_page/edit", :controller => 'wiki', :action => 'edit', :id => '567', :page => 'my_page' + should_route :get, "/projects/1/wiki/CookBook_documentation/history", :controller => 'wiki', :action => 'history', :id => '1', :page => 'CookBook_documentation' + should_route :get, "/projects/1/wiki/CookBook_documentation/diff/2/vs/1", :controller => 'wiki', :action => 'diff', :id => '1', :page => 'CookBook_documentation', :version => '2', :version_from => '1' + should_route :get, "/projects/1/wiki/CookBook_documentation/annotate/2", :controller => 'wiki', :action => 'annotate', :id => '1', :page => 'CookBook_documentation', :version => '2' + should_route :get, "/projects/22/wiki/ladida/rename", :controller => 'wiki', :action => 'rename', :id => '22', :page => 'ladida' + should_route :get, "/projects/567/wiki/page_index", :controller => 'wiki', :action => 'special', :id => '567', :page => 'page_index' + should_route :get, "/projects/567/wiki/Page_Index", :controller => 'wiki', :action => 'special', :id => '567', :page => 'Page_Index' + should_route :get, "/projects/567/wiki/date_index", :controller => 'wiki', :action => 'special', :id => '567', :page => 'date_index' + should_route :get, "/projects/567/wiki/export", :controller => 'wiki', :action => 'special', :id => '567', :page => 'export' + + should_route :post, "/projects/567/wiki/my_page/edit", :controller => 'wiki', :action => 'edit', :id => '567', :page => 'my_page' + should_route :post, "/projects/567/wiki/CookBook_documentation/preview", :controller => 'wiki', :action => 'preview', :id => '567', :page => 'CookBook_documentation' + should_route :post, "/projects/22/wiki/ladida/rename", :controller => 'wiki', :action => 'rename', :id => '22', :page => 'ladida' + should_route :post, "/projects/22/wiki/ladida/destroy", :controller => 'wiki', :action => 'destroy', :id => '22', :page => 'ladida' + should_route :post, "/projects/22/wiki/ladida/protect", :controller => 'wiki', :action => 'protect', :id => '22', :page => 'ladida' + end + + context "administration panel" do + should_route :get, "/admin/projects", :controller => 'admin', :action => 'projects' + end end