]> source.dussan.org Git - redmine.git/commitdiff
Move more routing tests into the routing integration test.
authorEric Davis <edavis@littlestreamsoftware.com>
Tue, 20 Apr 2010 15:42:57 +0000 (15:42 +0000)
committerEric Davis <edavis@littlestreamsoftware.com>
Tue, 20 Apr 2010 15:42:57 +0000 (15:42 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3686 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/functional/admin_controller_test.rb
test/functional/issues_controller_test.rb
test/functional/users_controller_test.rb
test/functional/versions_controller_test.rb
test/functional/wiki_controller_test.rb
test/integration/routing_test.rb

index 142a374e9ace57e1695f8d28ca9e53b88762116f..41fdda548de47666f55a413daba92e1466ff477c 100644 (file)
@@ -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
index 3a39887ee2fde34a082df01cc6efe1491375c764..a0def24232b2c0482068d4130c4eafd072920d40 100644 (file)
@@ -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
index 6823eb3072dfdc10fc1cd3fab83b5f2269ab2dba..d178f8f85ba0cfb18b45759c7bd4abb46a333708 100644 (file)
@@ -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'
index 46a5db9160775dbbfde1f873ffbb297ee98bf860..e4864c908ab10cd4d69f8aa0bed55ee3e0c5e7f8 100644 (file)
@@ -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
index 298cfee9ca3f10fd6ace02d3f2644a3554efc91a..76aa024675ea92f06a977fccd46cdbc85babe400 100644 (file)
@@ -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?
index c70247ac052dbdbeca55703fc482c6b261543b02..969aa7f1703cdcdc41af8279bd8d0c27ac64baa5 100644 (file)
@@ -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