Chris@1115
|
1 # Redmine - project management software
|
Chris@1115
|
2 # Copyright (C) 2006-2012 Jean-Philippe Lang
|
Chris@1115
|
3 #
|
Chris@1115
|
4 # This program is free software; you can redistribute it and/or
|
Chris@1115
|
5 # modify it under the terms of the GNU General Public License
|
Chris@1115
|
6 # as published by the Free Software Foundation; either version 2
|
Chris@1115
|
7 # of the License, or (at your option) any later version.
|
Chris@1115
|
8 #
|
Chris@1115
|
9 # This program is distributed in the hope that it will be useful,
|
Chris@1115
|
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
|
Chris@1115
|
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
Chris@1115
|
12 # GNU General Public License for more details.
|
Chris@1115
|
13 #
|
Chris@1115
|
14 # You should have received a copy of the GNU General Public License
|
Chris@1115
|
15 # along with this program; if not, write to the Free Software
|
Chris@1115
|
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Chris@1115
|
17
|
Chris@1115
|
18 require File.expand_path('../../../test_helper', __FILE__)
|
Chris@1115
|
19
|
Chris@1115
|
20 class RoutingVersionsTest < ActionController::IntegrationTest
|
Chris@1115
|
21 def test_roadmap
|
Chris@1115
|
22 # /projects/foo/versions is /projects/foo/roadmap
|
Chris@1115
|
23 assert_routing(
|
Chris@1115
|
24 { :method => 'get', :path => "/projects/33/roadmap" },
|
Chris@1115
|
25 { :controller => 'versions', :action => 'index', :project_id => '33' }
|
Chris@1115
|
26 )
|
Chris@1115
|
27 end
|
Chris@1115
|
28
|
Chris@1115
|
29 def test_versions_scoped_under_project
|
Chris@1115
|
30 assert_routing(
|
Chris@1115
|
31 { :method => 'put', :path => "/projects/foo/versions/close_completed" },
|
Chris@1115
|
32 { :controller => 'versions', :action => 'close_completed',
|
Chris@1115
|
33 :project_id => 'foo' }
|
Chris@1115
|
34 )
|
Chris@1115
|
35 assert_routing(
|
Chris@1115
|
36 { :method => 'get', :path => "/projects/foo/versions.xml" },
|
Chris@1115
|
37 { :controller => 'versions', :action => 'index',
|
Chris@1115
|
38 :project_id => 'foo', :format => 'xml' }
|
Chris@1115
|
39 )
|
Chris@1115
|
40 assert_routing(
|
Chris@1115
|
41 { :method => 'get', :path => "/projects/foo/versions.json" },
|
Chris@1115
|
42 { :controller => 'versions', :action => 'index',
|
Chris@1115
|
43 :project_id => 'foo', :format => 'json' }
|
Chris@1115
|
44 )
|
Chris@1115
|
45 assert_routing(
|
Chris@1115
|
46 { :method => 'get', :path => "/projects/foo/versions/new" },
|
Chris@1115
|
47 { :controller => 'versions', :action => 'new',
|
Chris@1115
|
48 :project_id => 'foo' }
|
Chris@1115
|
49 )
|
Chris@1115
|
50 assert_routing(
|
Chris@1115
|
51 { :method => 'post', :path => "/projects/foo/versions" },
|
Chris@1115
|
52 { :controller => 'versions', :action => 'create',
|
Chris@1115
|
53 :project_id => 'foo' }
|
Chris@1115
|
54 )
|
Chris@1115
|
55 assert_routing(
|
Chris@1115
|
56 { :method => 'post', :path => "/projects/foo/versions.xml" },
|
Chris@1115
|
57 { :controller => 'versions', :action => 'create',
|
Chris@1115
|
58 :project_id => 'foo', :format => 'xml' }
|
Chris@1115
|
59 )
|
Chris@1115
|
60 assert_routing(
|
Chris@1115
|
61 { :method => 'post', :path => "/projects/foo/versions.json" },
|
Chris@1115
|
62 { :controller => 'versions', :action => 'create',
|
Chris@1115
|
63 :project_id => 'foo', :format => 'json' }
|
Chris@1115
|
64 )
|
Chris@1115
|
65 end
|
Chris@1115
|
66
|
Chris@1115
|
67 def test_versions
|
Chris@1115
|
68 assert_routing(
|
Chris@1115
|
69 { :method => 'get', :path => "/versions/1" },
|
Chris@1115
|
70 { :controller => 'versions', :action => 'show', :id => '1' }
|
Chris@1115
|
71 )
|
Chris@1115
|
72 assert_routing(
|
Chris@1115
|
73 { :method => 'get', :path => "/versions/1.xml" },
|
Chris@1115
|
74 { :controller => 'versions', :action => 'show', :id => '1',
|
Chris@1115
|
75 :format => 'xml' }
|
Chris@1115
|
76 )
|
Chris@1115
|
77 assert_routing(
|
Chris@1115
|
78 { :method => 'get', :path => "/versions/1.json" },
|
Chris@1115
|
79 { :controller => 'versions', :action => 'show', :id => '1',
|
Chris@1115
|
80 :format => 'json' }
|
Chris@1115
|
81 )
|
Chris@1115
|
82 assert_routing(
|
Chris@1115
|
83 { :method => 'get', :path => "/versions/1/edit" },
|
Chris@1115
|
84 { :controller => 'versions', :action => 'edit', :id => '1' }
|
Chris@1115
|
85 )
|
Chris@1115
|
86 assert_routing(
|
Chris@1115
|
87 { :method => 'put', :path => "/versions/1" },
|
Chris@1115
|
88 { :controller => 'versions', :action => 'update', :id => '1' }
|
Chris@1115
|
89 )
|
Chris@1115
|
90 assert_routing(
|
Chris@1115
|
91 { :method => 'put', :path => "/versions/1.xml" },
|
Chris@1115
|
92 { :controller => 'versions', :action => 'update', :id => '1',
|
Chris@1115
|
93 :format => 'xml' }
|
Chris@1115
|
94 )
|
Chris@1115
|
95 assert_routing(
|
Chris@1115
|
96 { :method => 'put', :path => "/versions/1.json" },
|
Chris@1115
|
97 { :controller => 'versions', :action => 'update', :id => '1',
|
Chris@1115
|
98 :format => 'json' }
|
Chris@1115
|
99 )
|
Chris@1115
|
100 assert_routing(
|
Chris@1115
|
101 { :method => 'delete', :path => "/versions/1" },
|
Chris@1115
|
102 { :controller => 'versions', :action => 'destroy', :id => '1' }
|
Chris@1115
|
103 )
|
Chris@1115
|
104 assert_routing(
|
Chris@1115
|
105 { :method => 'delete', :path => "/versions/1.xml" },
|
Chris@1115
|
106 { :controller => 'versions', :action => 'destroy', :id => '1',
|
Chris@1115
|
107 :format => 'xml' }
|
Chris@1115
|
108 )
|
Chris@1115
|
109 assert_routing(
|
Chris@1115
|
110 { :method => 'delete', :path => "/versions/1.json" },
|
Chris@1115
|
111 { :controller => 'versions', :action => 'destroy', :id => '1',
|
Chris@1115
|
112 :format => 'json' }
|
Chris@1115
|
113 )
|
Chris@1115
|
114 assert_routing(
|
Chris@1115
|
115 { :method => 'post', :path => "/versions/1/status_by" },
|
Chris@1115
|
116 { :controller => 'versions', :action => 'status_by', :id => '1' }
|
Chris@1115
|
117 )
|
Chris@1115
|
118 end
|
Chris@1115
|
119 end
|