summaryrefslogtreecommitdiffstats
path: root/test/integration/routing/issues_test.rb
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-12-25 01:13:43 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2011-12-25 01:13:43 +0000
commite48d90a294b6fd0918a82c727b07853a05094d6e (patch)
treee11343ab904f3afb6264595f7d46ea3e22d04911 /test/integration/routing/issues_test.rb
parent2fc1a83e6f25aa2fcc82c6f8bbdb6de84a872e9c (diff)
downloadredmine-e48d90a294b6fd0918a82c727b07853a05094d6e.tar.gz
redmine-e48d90a294b6fd0918a82c727b07853a05094d6e.zip
test: route: move issues tests to new file
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8355 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test/integration/routing/issues_test.rb')
-rw-r--r--test/integration/routing/issues_test.rb126
1 files changed, 126 insertions, 0 deletions
diff --git a/test/integration/routing/issues_test.rb b/test/integration/routing/issues_test.rb
new file mode 100644
index 000000000..379852a2c
--- /dev/null
+++ b/test/integration/routing/issues_test.rb
@@ -0,0 +1,126 @@
+# Redmine - project management software
+# Copyright (C) 2006-2011 Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+require File.expand_path('../../../test_helper', __FILE__)
+
+class RoutingIssuesTest < ActionController::IntegrationTest
+ def test_issues_rest_actions
+ assert_routing(
+ { :method => 'get', :path => "/issues" },
+ { :controller => 'issues', :action => 'index' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues.pdf" },
+ { :controller => 'issues', :action => 'index', :format => 'pdf' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues.atom" },
+ { :controller => 'issues', :action => 'index', :format => 'atom' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues.xml" },
+ { :controller => 'issues', :action => 'index', :format => 'xml' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/projects/23/issues" },
+ { :controller => 'issues', :action => 'index', :project_id => '23' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/projects/23/issues.pdf" },
+ { :controller => 'issues', :action => 'index', :project_id => '23',
+ :format => 'pdf' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/projects/23/issues.atom" },
+ { :controller => 'issues', :action => 'index', :project_id => '23',
+ :format => 'atom' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/projects/23/issues.xml" },
+ { :controller => 'issues', :action => 'index', :project_id => '23',
+ :format => 'xml' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues/64" },
+ { :controller => 'issues', :action => 'show', :id => '64' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues/64.pdf" },
+ { :controller => 'issues', :action => 'show', :id => '64',
+ :format => 'pdf' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues/64.atom" },
+ { :controller => 'issues', :action => 'show', :id => '64',
+ :format => 'atom' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues/64.xml" },
+ { :controller => 'issues', :action => 'show', :id => '64',
+ :format => 'xml' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/projects/23/issues/new" },
+ { :controller => 'issues', :action => 'new', :project_id => '23' }
+ )
+ end
+
+ def test_issues_form_update
+ assert_routing(
+ { :method => 'post', :path => "/projects/23/issues/new" },
+ { :controller => 'issues', :action => 'new', :project_id => '23' }
+ )
+ assert_routing(
+ { :method => 'post', :path => "/projects/23/issues" },
+ { :controller => 'issues', :action => 'create', :project_id => '23' }
+ )
+ assert_routing(
+ { :method => 'post', :path => "/issues.xml" },
+ { :controller => 'issues', :action => 'create', :format => 'xml' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues/64/edit" },
+ { :controller => 'issues', :action => 'edit', :id => '64' }
+ )
+ assert_routing(
+ { :method => 'put', :path => "/issues/1.xml" },
+ { :controller => 'issues', :action => 'update', :id => '1',
+ :format => 'xml' }
+ )
+ assert_routing(
+ { :method => 'delete', :path => "/issues/1.xml" },
+ { :controller => 'issues', :action => 'destroy', :id => '1',
+ :format => 'xml' }
+ )
+ end
+
+ def test_issues_extra_actions
+ assert_routing(
+ { :method => 'get', :path => "/projects/23/issues/64/copy" },
+ { :controller => 'issues', :action => 'new', :project_id => '23',
+ :copy_from => '64' }
+ )
+ assert_routing(
+ { :method => 'get', :path => "/issues/bulk_edit" },
+ { :controller => 'issues', :action => 'bulk_edit' }
+ )
+ assert_routing(
+ { :method => 'post', :path => "/issues/bulk_update" },
+ { :controller => 'issues', :action => 'bulk_update' }
+ )
+ end
+end