##// END OF EJS Templates
test: replace "should_route" of "repositories" to "assert_routing" at integration/routing_test.rb...
Toshi MARUYAMA -
r8125:5cfa9e735a61
parent child
Show More
@@ -1,801 +1,885
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require File.expand_path('../../test_helper', __FILE__)
18 require File.expand_path('../../test_helper', __FILE__)
19
19
20 class RoutingTest < ActionController::IntegrationTest
20 class RoutingTest < ActionController::IntegrationTest
21 def test_activities
21 def test_activities
22 assert_routing(
22 assert_routing(
23 { :method => 'get', :path => "/activity" },
23 { :method => 'get', :path => "/activity" },
24 { :controller => 'activities', :action => 'index', :id => nil }
24 { :controller => 'activities', :action => 'index', :id => nil }
25 )
25 )
26 assert_routing(
26 assert_routing(
27 { :method => 'get', :path => "/activity.atom" },
27 { :method => 'get', :path => "/activity.atom" },
28 { :controller => 'activities', :action => 'index', :id => nil, :format => 'atom' }
28 { :controller => 'activities', :action => 'index', :id => nil, :format => 'atom' }
29 )
29 )
30 end
30 end
31
31
32 def test_attachments
32 def test_attachments
33 assert_routing(
33 assert_routing(
34 { :method => 'get', :path => "/attachments/1" },
34 { :method => 'get', :path => "/attachments/1" },
35 { :controller => 'attachments', :action => 'show', :id => '1' }
35 { :controller => 'attachments', :action => 'show', :id => '1' }
36 )
36 )
37 assert_routing(
37 assert_routing(
38 { :method => 'get', :path => "/attachments/1.xml" },
38 { :method => 'get', :path => "/attachments/1.xml" },
39 { :controller => 'attachments', :action => 'show', :id => '1', :format => 'xml' }
39 { :controller => 'attachments', :action => 'show', :id => '1', :format => 'xml' }
40 )
40 )
41 assert_routing(
41 assert_routing(
42 { :method => 'get', :path => "/attachments/1.json" },
42 { :method => 'get', :path => "/attachments/1.json" },
43 { :controller => 'attachments', :action => 'show', :id => '1', :format => 'json' }
43 { :controller => 'attachments', :action => 'show', :id => '1', :format => 'json' }
44 )
44 )
45 assert_routing(
45 assert_routing(
46 { :method => 'get', :path => "/attachments/1/filename.ext" },
46 { :method => 'get', :path => "/attachments/1/filename.ext" },
47 { :controller => 'attachments', :action => 'show', :id => '1',
47 { :controller => 'attachments', :action => 'show', :id => '1',
48 :filename => 'filename.ext' }
48 :filename => 'filename.ext' }
49 )
49 )
50 assert_routing(
50 assert_routing(
51 { :method => 'get', :path => "/attachments/download/1" },
51 { :method => 'get', :path => "/attachments/download/1" },
52 { :controller => 'attachments', :action => 'download', :id => '1' }
52 { :controller => 'attachments', :action => 'download', :id => '1' }
53 )
53 )
54 assert_routing(
54 assert_routing(
55 { :method => 'get', :path => "/attachments/download/1/filename.ext" },
55 { :method => 'get', :path => "/attachments/download/1/filename.ext" },
56 { :controller => 'attachments', :action => 'download', :id => '1',
56 { :controller => 'attachments', :action => 'download', :id => '1',
57 :filename => 'filename.ext' }
57 :filename => 'filename.ext' }
58 )
58 )
59 end
59 end
60
60
61 def test_boards
61 def test_boards
62 assert_routing(
62 assert_routing(
63 { :method => 'get', :path => "/projects/world_domination/boards" },
63 { :method => 'get', :path => "/projects/world_domination/boards" },
64 { :controller => 'boards', :action => 'index', :project_id => 'world_domination' }
64 { :controller => 'boards', :action => 'index', :project_id => 'world_domination' }
65 )
65 )
66 assert_routing(
66 assert_routing(
67 { :method => 'get', :path => "/projects/world_domination/boards/new" },
67 { :method => 'get', :path => "/projects/world_domination/boards/new" },
68 { :controller => 'boards', :action => 'new', :project_id => 'world_domination' }
68 { :controller => 'boards', :action => 'new', :project_id => 'world_domination' }
69 )
69 )
70 assert_routing(
70 assert_routing(
71 { :method => 'get', :path => "/projects/world_domination/boards/44" },
71 { :method => 'get', :path => "/projects/world_domination/boards/44" },
72 { :controller => 'boards', :action => 'show', :project_id => 'world_domination',
72 { :controller => 'boards', :action => 'show', :project_id => 'world_domination',
73 :id => '44' }
73 :id => '44' }
74 )
74 )
75 assert_routing(
75 assert_routing(
76 { :method => 'get', :path => "/projects/world_domination/boards/44.atom" },
76 { :method => 'get', :path => "/projects/world_domination/boards/44.atom" },
77 { :controller => 'boards', :action => 'show', :project_id => 'world_domination',
77 { :controller => 'boards', :action => 'show', :project_id => 'world_domination',
78 :id => '44', :format => 'atom' }
78 :id => '44', :format => 'atom' }
79 )
79 )
80 assert_routing(
80 assert_routing(
81 { :method => 'get', :path => "/projects/world_domination/boards/44/edit" },
81 { :method => 'get', :path => "/projects/world_domination/boards/44/edit" },
82 { :controller => 'boards', :action => 'edit', :project_id => 'world_domination',
82 { :controller => 'boards', :action => 'edit', :project_id => 'world_domination',
83 :id => '44' }
83 :id => '44' }
84 )
84 )
85 assert_routing(
85 assert_routing(
86 { :method => 'post', :path => "/projects/world_domination/boards" },
86 { :method => 'post', :path => "/projects/world_domination/boards" },
87 { :controller => 'boards', :action => 'create', :project_id => 'world_domination' }
87 { :controller => 'boards', :action => 'create', :project_id => 'world_domination' }
88 )
88 )
89 assert_routing(
89 assert_routing(
90 { :method => 'put', :path => "/projects/world_domination/boards/44" },
90 { :method => 'put', :path => "/projects/world_domination/boards/44" },
91 { :controller => 'boards', :action => 'update', :project_id => 'world_domination', :id => '44' }
91 { :controller => 'boards', :action => 'update', :project_id => 'world_domination', :id => '44' }
92 )
92 )
93 assert_routing(
93 assert_routing(
94 { :method => 'delete', :path => "/projects/world_domination/boards/44" },
94 { :method => 'delete', :path => "/projects/world_domination/boards/44" },
95 { :controller => 'boards', :action => 'destroy', :project_id => 'world_domination', :id => '44' }
95 { :controller => 'boards', :action => 'destroy', :project_id => 'world_domination', :id => '44' }
96 )
96 )
97 end
97 end
98
98
99 def test_custom_fields
99 def test_custom_fields
100 assert_routing(
100 assert_routing(
101 { :method => 'get', :path => "/custom_fields" },
101 { :method => 'get', :path => "/custom_fields" },
102 { :controller => 'custom_fields', :action => 'index' }
102 { :controller => 'custom_fields', :action => 'index' }
103 )
103 )
104 assert_routing(
104 assert_routing(
105 { :method => 'get', :path => "/custom_fields/new" },
105 { :method => 'get', :path => "/custom_fields/new" },
106 { :controller => 'custom_fields', :action => 'new' }
106 { :controller => 'custom_fields', :action => 'new' }
107 )
107 )
108 assert_routing(
108 assert_routing(
109 { :method => 'post', :path => "/custom_fields" },
109 { :method => 'post', :path => "/custom_fields" },
110 { :controller => 'custom_fields', :action => 'create' }
110 { :controller => 'custom_fields', :action => 'create' }
111 )
111 )
112 assert_routing(
112 assert_routing(
113 { :method => 'get', :path => "/custom_fields/2/edit" },
113 { :method => 'get', :path => "/custom_fields/2/edit" },
114 { :controller => 'custom_fields', :action => 'edit', :id => '2' }
114 { :controller => 'custom_fields', :action => 'edit', :id => '2' }
115 )
115 )
116 assert_routing(
116 assert_routing(
117 { :method => 'put', :path => "/custom_fields/2" },
117 { :method => 'put', :path => "/custom_fields/2" },
118 { :controller => 'custom_fields', :action => 'update', :id => '2' }
118 { :controller => 'custom_fields', :action => 'update', :id => '2' }
119 )
119 )
120 assert_routing(
120 assert_routing(
121 { :method => 'delete', :path => "/custom_fields/2" },
121 { :method => 'delete', :path => "/custom_fields/2" },
122 { :controller => 'custom_fields', :action => 'destroy', :id => '2' }
122 { :controller => 'custom_fields', :action => 'destroy', :id => '2' }
123 )
123 )
124 end
124 end
125
125
126 def test_documents
126 def test_documents
127 assert_routing(
127 assert_routing(
128 { :method => 'get', :path => "/projects/567/documents" },
128 { :method => 'get', :path => "/projects/567/documents" },
129 { :controller => 'documents', :action => 'index', :project_id => '567' }
129 { :controller => 'documents', :action => 'index', :project_id => '567' }
130 )
130 )
131 assert_routing(
131 assert_routing(
132 { :method => 'get', :path => "/projects/567/documents/new" },
132 { :method => 'get', :path => "/projects/567/documents/new" },
133 { :controller => 'documents', :action => 'new', :project_id => '567' }
133 { :controller => 'documents', :action => 'new', :project_id => '567' }
134 )
134 )
135 assert_routing(
135 assert_routing(
136 { :method => 'get', :path => "/documents/22" },
136 { :method => 'get', :path => "/documents/22" },
137 { :controller => 'documents', :action => 'show', :id => '22' }
137 { :controller => 'documents', :action => 'show', :id => '22' }
138 )
138 )
139 assert_routing(
139 assert_routing(
140 { :method => 'get', :path => "/documents/22/edit" },
140 { :method => 'get', :path => "/documents/22/edit" },
141 { :controller => 'documents', :action => 'edit', :id => '22' }
141 { :controller => 'documents', :action => 'edit', :id => '22' }
142 )
142 )
143 assert_routing(
143 assert_routing(
144 { :method => 'post', :path => "/projects/567/documents" },
144 { :method => 'post', :path => "/projects/567/documents" },
145 { :controller => 'documents', :action => 'create', :project_id => '567' }
145 { :controller => 'documents', :action => 'create', :project_id => '567' }
146 )
146 )
147 assert_routing(
147 assert_routing(
148 { :method => 'put', :path => "/documents/22" },
148 { :method => 'put', :path => "/documents/22" },
149 { :controller => 'documents', :action => 'update', :id => '22' }
149 { :controller => 'documents', :action => 'update', :id => '22' }
150 )
150 )
151 assert_routing(
151 assert_routing(
152 { :method => 'delete', :path => "/documents/22" },
152 { :method => 'delete', :path => "/documents/22" },
153 { :controller => 'documents', :action => 'destroy', :id => '22' }
153 { :controller => 'documents', :action => 'destroy', :id => '22' }
154 )
154 )
155 assert_routing(
155 assert_routing(
156 { :method => 'post', :path => "/documents/22/add_attachment" },
156 { :method => 'post', :path => "/documents/22/add_attachment" },
157 { :controller => 'documents', :action => 'add_attachment', :id => '22' }
157 { :controller => 'documents', :action => 'add_attachment', :id => '22' }
158 )
158 )
159 end
159 end
160
160
161 def test_roles
161 def test_roles
162 assert_routing(
162 assert_routing(
163 { :method => 'get', :path => "/enumerations" },
163 { :method => 'get', :path => "/enumerations" },
164 { :controller => 'enumerations', :action => 'index' }
164 { :controller => 'enumerations', :action => 'index' }
165 )
165 )
166 assert_routing(
166 assert_routing(
167 { :method => 'get', :path => "/enumerations/new" },
167 { :method => 'get', :path => "/enumerations/new" },
168 { :controller => 'enumerations', :action => 'new' }
168 { :controller => 'enumerations', :action => 'new' }
169 )
169 )
170 assert_routing(
170 assert_routing(
171 { :method => 'post', :path => "/enumerations" },
171 { :method => 'post', :path => "/enumerations" },
172 { :controller => 'enumerations', :action => 'create' }
172 { :controller => 'enumerations', :action => 'create' }
173 )
173 )
174 assert_routing(
174 assert_routing(
175 { :method => 'get', :path => "/enumerations/2/edit" },
175 { :method => 'get', :path => "/enumerations/2/edit" },
176 { :controller => 'enumerations', :action => 'edit', :id => '2' }
176 { :controller => 'enumerations', :action => 'edit', :id => '2' }
177 )
177 )
178 assert_routing(
178 assert_routing(
179 { :method => 'put', :path => "/enumerations/2" },
179 { :method => 'put', :path => "/enumerations/2" },
180 { :controller => 'enumerations', :action => 'update', :id => '2' }
180 { :controller => 'enumerations', :action => 'update', :id => '2' }
181 )
181 )
182 assert_routing(
182 assert_routing(
183 { :method => 'delete', :path => "/enumerations/2" },
183 { :method => 'delete', :path => "/enumerations/2" },
184 { :controller => 'enumerations', :action => 'destroy', :id => '2' }
184 { :controller => 'enumerations', :action => 'destroy', :id => '2' }
185 )
185 )
186 end
186 end
187
187
188 def test_groups
188 def test_groups
189 assert_routing(
189 assert_routing(
190 { :method => 'post', :path => "/groups/567/users" },
190 { :method => 'post', :path => "/groups/567/users" },
191 { :controller => 'groups', :action => 'add_users', :id => '567' }
191 { :controller => 'groups', :action => 'add_users', :id => '567' }
192 )
192 )
193 assert_routing(
193 assert_routing(
194 { :method => 'delete', :path => "/groups/567/users/12" },
194 { :method => 'delete', :path => "/groups/567/users/12" },
195 { :controller => 'groups', :action => 'remove_user', :id => '567',
195 { :controller => 'groups', :action => 'remove_user', :id => '567',
196 :user_id => '12' }
196 :user_id => '12' }
197 )
197 )
198 end
198 end
199
199
200 def test_issues_rest_actions
200 def test_issues_rest_actions
201 assert_routing(
201 assert_routing(
202 { :method => 'get', :path => "/issues" },
202 { :method => 'get', :path => "/issues" },
203 { :controller => 'issues', :action => 'index' }
203 { :controller => 'issues', :action => 'index' }
204 )
204 )
205 assert_routing(
205 assert_routing(
206 { :method => 'get', :path => "/issues.pdf" },
206 { :method => 'get', :path => "/issues.pdf" },
207 { :controller => 'issues', :action => 'index', :format => 'pdf' }
207 { :controller => 'issues', :action => 'index', :format => 'pdf' }
208 )
208 )
209 assert_routing(
209 assert_routing(
210 { :method => 'get', :path => "/issues.atom" },
210 { :method => 'get', :path => "/issues.atom" },
211 { :controller => 'issues', :action => 'index', :format => 'atom' }
211 { :controller => 'issues', :action => 'index', :format => 'atom' }
212 )
212 )
213 assert_routing(
213 assert_routing(
214 { :method => 'get', :path => "/issues.xml" },
214 { :method => 'get', :path => "/issues.xml" },
215 { :controller => 'issues', :action => 'index', :format => 'xml' }
215 { :controller => 'issues', :action => 'index', :format => 'xml' }
216 )
216 )
217 assert_routing(
217 assert_routing(
218 { :method => 'get', :path => "/projects/23/issues" },
218 { :method => 'get', :path => "/projects/23/issues" },
219 { :controller => 'issues', :action => 'index', :project_id => '23' }
219 { :controller => 'issues', :action => 'index', :project_id => '23' }
220 )
220 )
221 assert_routing(
221 assert_routing(
222 { :method => 'get', :path => "/projects/23/issues.pdf" },
222 { :method => 'get', :path => "/projects/23/issues.pdf" },
223 { :controller => 'issues', :action => 'index', :project_id => '23',
223 { :controller => 'issues', :action => 'index', :project_id => '23',
224 :format => 'pdf' }
224 :format => 'pdf' }
225 )
225 )
226 assert_routing(
226 assert_routing(
227 { :method => 'get', :path => "/projects/23/issues.atom" },
227 { :method => 'get', :path => "/projects/23/issues.atom" },
228 { :controller => 'issues', :action => 'index', :project_id => '23',
228 { :controller => 'issues', :action => 'index', :project_id => '23',
229 :format => 'atom' }
229 :format => 'atom' }
230 )
230 )
231 assert_routing(
231 assert_routing(
232 { :method => 'get', :path => "/projects/23/issues.xml" },
232 { :method => 'get', :path => "/projects/23/issues.xml" },
233 { :controller => 'issues', :action => 'index', :project_id => '23',
233 { :controller => 'issues', :action => 'index', :project_id => '23',
234 :format => 'xml' }
234 :format => 'xml' }
235 )
235 )
236 assert_routing(
236 assert_routing(
237 { :method => 'get', :path => "/issues/64" },
237 { :method => 'get', :path => "/issues/64" },
238 { :controller => 'issues', :action => 'show', :id => '64' }
238 { :controller => 'issues', :action => 'show', :id => '64' }
239 )
239 )
240 assert_routing(
240 assert_routing(
241 { :method => 'get', :path => "/issues/64.pdf" },
241 { :method => 'get', :path => "/issues/64.pdf" },
242 { :controller => 'issues', :action => 'show', :id => '64',
242 { :controller => 'issues', :action => 'show', :id => '64',
243 :format => 'pdf' }
243 :format => 'pdf' }
244 )
244 )
245 assert_routing(
245 assert_routing(
246 { :method => 'get', :path => "/issues/64.atom" },
246 { :method => 'get', :path => "/issues/64.atom" },
247 { :controller => 'issues', :action => 'show', :id => '64',
247 { :controller => 'issues', :action => 'show', :id => '64',
248 :format => 'atom' }
248 :format => 'atom' }
249 )
249 )
250 assert_routing(
250 assert_routing(
251 { :method => 'get', :path => "/issues/64.xml" },
251 { :method => 'get', :path => "/issues/64.xml" },
252 { :controller => 'issues', :action => 'show', :id => '64',
252 { :controller => 'issues', :action => 'show', :id => '64',
253 :format => 'xml' }
253 :format => 'xml' }
254 )
254 )
255 assert_routing(
255 assert_routing(
256 { :method => 'get', :path => "/projects/23/issues/new" },
256 { :method => 'get', :path => "/projects/23/issues/new" },
257 { :controller => 'issues', :action => 'new', :project_id => '23' }
257 { :controller => 'issues', :action => 'new', :project_id => '23' }
258 )
258 )
259 end
259 end
260
260
261 def test_issues_form_update
261 def test_issues_form_update
262 assert_routing(
262 assert_routing(
263 { :method => 'post', :path => "/projects/23/issues/new" },
263 { :method => 'post', :path => "/projects/23/issues/new" },
264 { :controller => 'issues', :action => 'new', :project_id => '23' }
264 { :controller => 'issues', :action => 'new', :project_id => '23' }
265 )
265 )
266 assert_routing(
266 assert_routing(
267 { :method => 'post', :path => "/projects/23/issues" },
267 { :method => 'post', :path => "/projects/23/issues" },
268 { :controller => 'issues', :action => 'create', :project_id => '23' }
268 { :controller => 'issues', :action => 'create', :project_id => '23' }
269 )
269 )
270 assert_routing(
270 assert_routing(
271 { :method => 'post', :path => "/issues.xml" },
271 { :method => 'post', :path => "/issues.xml" },
272 { :controller => 'issues', :action => 'create', :format => 'xml' }
272 { :controller => 'issues', :action => 'create', :format => 'xml' }
273 )
273 )
274 assert_routing(
274 assert_routing(
275 { :method => 'get', :path => "/issues/64/edit" },
275 { :method => 'get', :path => "/issues/64/edit" },
276 { :controller => 'issues', :action => 'edit', :id => '64' }
276 { :controller => 'issues', :action => 'edit', :id => '64' }
277 )
277 )
278 assert_routing(
278 assert_routing(
279 { :method => 'put', :path => "/issues/1.xml" },
279 { :method => 'put', :path => "/issues/1.xml" },
280 { :controller => 'issues', :action => 'update', :id => '1',
280 { :controller => 'issues', :action => 'update', :id => '1',
281 :format => 'xml' }
281 :format => 'xml' }
282 )
282 )
283 assert_routing(
283 assert_routing(
284 { :method => 'delete', :path => "/issues/1.xml" },
284 { :method => 'delete', :path => "/issues/1.xml" },
285 { :controller => 'issues', :action => 'destroy', :id => '1',
285 { :controller => 'issues', :action => 'destroy', :id => '1',
286 :format => 'xml' }
286 :format => 'xml' }
287 )
287 )
288 end
288 end
289
289
290 context "issues" do
290 context "issues" do
291 # Extra actions
291 # Extra actions
292 should_route :get, "/projects/23/issues/64/copy", :controller => 'issues', :action => 'new', :project_id => '23', :copy_from => '64'
292 should_route :get, "/projects/23/issues/64/copy", :controller => 'issues', :action => 'new', :project_id => '23', :copy_from => '64'
293
293
294 should_route :get, "/issues/move/new", :controller => 'issue_moves', :action => 'new'
294 should_route :get, "/issues/move/new", :controller => 'issue_moves', :action => 'new'
295 should_route :post, "/issues/move", :controller => 'issue_moves', :action => 'create'
295 should_route :post, "/issues/move", :controller => 'issue_moves', :action => 'create'
296
296
297 should_route :post, "/issues/1/quoted", :controller => 'journals', :action => 'new', :id => '1'
297 should_route :post, "/issues/1/quoted", :controller => 'journals', :action => 'new', :id => '1'
298
298
299 should_route :get, "/issues/calendar", :controller => 'calendars', :action => 'show'
299 should_route :get, "/issues/calendar", :controller => 'calendars', :action => 'show'
300 should_route :get, "/projects/project-name/issues/calendar", :controller => 'calendars', :action => 'show', :project_id => 'project-name'
300 should_route :get, "/projects/project-name/issues/calendar", :controller => 'calendars', :action => 'show', :project_id => 'project-name'
301
301
302 should_route :get, "/issues/gantt", :controller => 'gantts', :action => 'show'
302 should_route :get, "/issues/gantt", :controller => 'gantts', :action => 'show'
303 should_route :get, "/issues/gantt.pdf", :controller => 'gantts', :action => 'show', :format => 'pdf'
303 should_route :get, "/issues/gantt.pdf", :controller => 'gantts', :action => 'show', :format => 'pdf'
304 should_route :get, "/projects/project-name/issues/gantt", :controller => 'gantts', :action => 'show', :project_id => 'project-name'
304 should_route :get, "/projects/project-name/issues/gantt", :controller => 'gantts', :action => 'show', :project_id => 'project-name'
305 should_route :get, "/projects/project-name/issues/gantt.pdf", :controller => 'gantts', :action => 'show', :project_id => 'project-name', :format => 'pdf'
305 should_route :get, "/projects/project-name/issues/gantt.pdf", :controller => 'gantts', :action => 'show', :project_id => 'project-name', :format => 'pdf'
306
306
307 should_route :get, "/issues/auto_complete", :controller => 'auto_completes', :action => 'issues'
307 should_route :get, "/issues/auto_complete", :controller => 'auto_completes', :action => 'issues'
308
308
309 should_route :get, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
309 should_route :get, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
310 should_route :post, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
310 should_route :post, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
311 should_route :get, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
311 should_route :get, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
312 should_route :post, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
312 should_route :post, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
313
313
314 should_route :get, "/issues/changes", :controller => 'journals', :action => 'index'
314 should_route :get, "/issues/changes", :controller => 'journals', :action => 'index'
315
315
316 should_route :get, "/issues/bulk_edit", :controller => 'issues', :action => 'bulk_edit'
316 should_route :get, "/issues/bulk_edit", :controller => 'issues', :action => 'bulk_edit'
317 should_route :post, "/issues/bulk_update", :controller => 'issues', :action => 'bulk_update'
317 should_route :post, "/issues/bulk_update", :controller => 'issues', :action => 'bulk_update'
318 end
318 end
319
319
320 context "issue categories" do
320 context "issue categories" do
321 should_route :get, "/projects/foo/issue_categories", :controller => 'issue_categories', :action => 'index', :project_id => 'foo'
321 should_route :get, "/projects/foo/issue_categories", :controller => 'issue_categories', :action => 'index', :project_id => 'foo'
322 should_route :get, "/projects/foo/issue_categories.xml", :controller => 'issue_categories', :action => 'index', :project_id => 'foo', :format => 'xml'
322 should_route :get, "/projects/foo/issue_categories.xml", :controller => 'issue_categories', :action => 'index', :project_id => 'foo', :format => 'xml'
323 should_route :get, "/projects/foo/issue_categories.json", :controller => 'issue_categories', :action => 'index', :project_id => 'foo', :format => 'json'
323 should_route :get, "/projects/foo/issue_categories.json", :controller => 'issue_categories', :action => 'index', :project_id => 'foo', :format => 'json'
324
324
325 should_route :get, "/projects/foo/issue_categories/new", :controller => 'issue_categories', :action => 'new', :project_id => 'foo'
325 should_route :get, "/projects/foo/issue_categories/new", :controller => 'issue_categories', :action => 'new', :project_id => 'foo'
326
326
327 should_route :post, "/projects/foo/issue_categories", :controller => 'issue_categories', :action => 'create', :project_id => 'foo'
327 should_route :post, "/projects/foo/issue_categories", :controller => 'issue_categories', :action => 'create', :project_id => 'foo'
328 should_route :post, "/projects/foo/issue_categories.xml", :controller => 'issue_categories', :action => 'create', :project_id => 'foo', :format => 'xml'
328 should_route :post, "/projects/foo/issue_categories.xml", :controller => 'issue_categories', :action => 'create', :project_id => 'foo', :format => 'xml'
329 should_route :post, "/projects/foo/issue_categories.json", :controller => 'issue_categories', :action => 'create', :project_id => 'foo', :format => 'json'
329 should_route :post, "/projects/foo/issue_categories.json", :controller => 'issue_categories', :action => 'create', :project_id => 'foo', :format => 'json'
330
330
331 should_route :get, "/issue_categories/1", :controller => 'issue_categories', :action => 'show', :id => '1'
331 should_route :get, "/issue_categories/1", :controller => 'issue_categories', :action => 'show', :id => '1'
332 should_route :get, "/issue_categories/1.xml", :controller => 'issue_categories', :action => 'show', :id => '1', :format => 'xml'
332 should_route :get, "/issue_categories/1.xml", :controller => 'issue_categories', :action => 'show', :id => '1', :format => 'xml'
333 should_route :get, "/issue_categories/1.json", :controller => 'issue_categories', :action => 'show', :id => '1', :format => 'json'
333 should_route :get, "/issue_categories/1.json", :controller => 'issue_categories', :action => 'show', :id => '1', :format => 'json'
334
334
335 should_route :get, "/issue_categories/1/edit", :controller => 'issue_categories', :action => 'edit', :id => '1'
335 should_route :get, "/issue_categories/1/edit", :controller => 'issue_categories', :action => 'edit', :id => '1'
336
336
337 should_route :put, "/issue_categories/1", :controller => 'issue_categories', :action => 'update', :id => '1'
337 should_route :put, "/issue_categories/1", :controller => 'issue_categories', :action => 'update', :id => '1'
338 should_route :put, "/issue_categories/1.xml", :controller => 'issue_categories', :action => 'update', :id => '1', :format => 'xml'
338 should_route :put, "/issue_categories/1.xml", :controller => 'issue_categories', :action => 'update', :id => '1', :format => 'xml'
339 should_route :put, "/issue_categories/1.json", :controller => 'issue_categories', :action => 'update', :id => '1', :format => 'json'
339 should_route :put, "/issue_categories/1.json", :controller => 'issue_categories', :action => 'update', :id => '1', :format => 'json'
340
340
341 should_route :delete, "/issue_categories/1", :controller => 'issue_categories', :action => 'destroy', :id => '1'
341 should_route :delete, "/issue_categories/1", :controller => 'issue_categories', :action => 'destroy', :id => '1'
342 should_route :delete, "/issue_categories/1.xml", :controller => 'issue_categories', :action => 'destroy', :id => '1', :format => 'xml'
342 should_route :delete, "/issue_categories/1.xml", :controller => 'issue_categories', :action => 'destroy', :id => '1', :format => 'xml'
343 should_route :delete, "/issue_categories/1.json", :controller => 'issue_categories', :action => 'destroy', :id => '1', :format => 'json'
343 should_route :delete, "/issue_categories/1.json", :controller => 'issue_categories', :action => 'destroy', :id => '1', :format => 'json'
344 end
344 end
345
345
346 context "issue relations" do
346 context "issue relations" do
347 should_route :get, "/issues/1/relations", :controller => 'issue_relations', :action => 'index', :issue_id => '1'
347 should_route :get, "/issues/1/relations", :controller => 'issue_relations', :action => 'index', :issue_id => '1'
348 should_route :get, "/issues/1/relations.xml", :controller => 'issue_relations', :action => 'index', :issue_id => '1', :format => 'xml'
348 should_route :get, "/issues/1/relations.xml", :controller => 'issue_relations', :action => 'index', :issue_id => '1', :format => 'xml'
349 should_route :get, "/issues/1/relations.json", :controller => 'issue_relations', :action => 'index', :issue_id => '1', :format => 'json'
349 should_route :get, "/issues/1/relations.json", :controller => 'issue_relations', :action => 'index', :issue_id => '1', :format => 'json'
350
350
351 should_route :post, "/issues/1/relations", :controller => 'issue_relations', :action => 'create', :issue_id => '1'
351 should_route :post, "/issues/1/relations", :controller => 'issue_relations', :action => 'create', :issue_id => '1'
352 should_route :post, "/issues/1/relations.xml", :controller => 'issue_relations', :action => 'create', :issue_id => '1', :format => 'xml'
352 should_route :post, "/issues/1/relations.xml", :controller => 'issue_relations', :action => 'create', :issue_id => '1', :format => 'xml'
353 should_route :post, "/issues/1/relations.json", :controller => 'issue_relations', :action => 'create', :issue_id => '1', :format => 'json'
353 should_route :post, "/issues/1/relations.json", :controller => 'issue_relations', :action => 'create', :issue_id => '1', :format => 'json'
354
354
355 should_route :get, "/relations/23", :controller => 'issue_relations', :action => 'show', :id => '23'
355 should_route :get, "/relations/23", :controller => 'issue_relations', :action => 'show', :id => '23'
356 should_route :get, "/relations/23.xml", :controller => 'issue_relations', :action => 'show', :id => '23', :format => 'xml'
356 should_route :get, "/relations/23.xml", :controller => 'issue_relations', :action => 'show', :id => '23', :format => 'xml'
357 should_route :get, "/relations/23.json", :controller => 'issue_relations', :action => 'show', :id => '23', :format => 'json'
357 should_route :get, "/relations/23.json", :controller => 'issue_relations', :action => 'show', :id => '23', :format => 'json'
358
358
359 should_route :delete, "/relations/23", :controller => 'issue_relations', :action => 'destroy', :id => '23'
359 should_route :delete, "/relations/23", :controller => 'issue_relations', :action => 'destroy', :id => '23'
360 should_route :delete, "/relations/23.xml", :controller => 'issue_relations', :action => 'destroy', :id => '23', :format => 'xml'
360 should_route :delete, "/relations/23.xml", :controller => 'issue_relations', :action => 'destroy', :id => '23', :format => 'xml'
361 should_route :delete, "/relations/23.json", :controller => 'issue_relations', :action => 'destroy', :id => '23', :format => 'json'
361 should_route :delete, "/relations/23.json", :controller => 'issue_relations', :action => 'destroy', :id => '23', :format => 'json'
362 end
362 end
363
363
364 def test_issue_reports
364 def test_issue_reports
365 assert_routing(
365 assert_routing(
366 { :method => 'get', :path => "/projects/567/issues/report" },
366 { :method => 'get', :path => "/projects/567/issues/report" },
367 { :controller => 'reports', :action => 'issue_report', :id => '567' }
367 { :controller => 'reports', :action => 'issue_report', :id => '567' }
368 )
368 )
369 assert_routing(
369 assert_routing(
370 { :method => 'get', :path => "/projects/567/issues/report/assigned_to" },
370 { :method => 'get', :path => "/projects/567/issues/report/assigned_to" },
371 { :controller => 'reports', :action => 'issue_report_details',
371 { :controller => 'reports', :action => 'issue_report_details',
372 :id => '567', :detail => 'assigned_to' }
372 :id => '567', :detail => 'assigned_to' }
373 )
373 )
374 end
374 end
375
375
376 def test_members
376 def test_members
377 assert_routing(
377 assert_routing(
378 { :method => 'post', :path => "/projects/5234/members/new" },
378 { :method => 'post', :path => "/projects/5234/members/new" },
379 { :controller => 'members', :action => 'new', :id => '5234' }
379 { :controller => 'members', :action => 'new', :id => '5234' }
380 )
380 )
381 end
381 end
382
382
383 def test_messages
383 def test_messages
384 assert_routing(
384 assert_routing(
385 { :method => 'get', :path => "/boards/22/topics/2" },
385 { :method => 'get', :path => "/boards/22/topics/2" },
386 { :controller => 'messages', :action => 'show', :id => '2',
386 { :controller => 'messages', :action => 'show', :id => '2',
387 :board_id => '22' }
387 :board_id => '22' }
388 )
388 )
389 assert_routing(
389 assert_routing(
390 { :method => 'get', :path => "/boards/lala/topics/new" },
390 { :method => 'get', :path => "/boards/lala/topics/new" },
391 { :controller => 'messages', :action => 'new', :board_id => 'lala' }
391 { :controller => 'messages', :action => 'new', :board_id => 'lala' }
392 )
392 )
393 assert_routing(
393 assert_routing(
394 { :method => 'get', :path => "/boards/lala/topics/22/edit" },
394 { :method => 'get', :path => "/boards/lala/topics/22/edit" },
395 { :controller => 'messages', :action => 'edit', :id => '22',
395 { :controller => 'messages', :action => 'edit', :id => '22',
396 :board_id => 'lala' }
396 :board_id => 'lala' }
397 )
397 )
398 assert_routing(
398 assert_routing(
399 { :method => 'post', :path => "/boards/lala/topics/new" },
399 { :method => 'post', :path => "/boards/lala/topics/new" },
400 { :controller => 'messages', :action => 'new', :board_id => 'lala' }
400 { :controller => 'messages', :action => 'new', :board_id => 'lala' }
401 )
401 )
402 assert_routing(
402 assert_routing(
403 { :method => 'post', :path => "/boards/lala/topics/22/edit" },
403 { :method => 'post', :path => "/boards/lala/topics/22/edit" },
404 { :controller => 'messages', :action => 'edit', :id => '22',
404 { :controller => 'messages', :action => 'edit', :id => '22',
405 :board_id => 'lala' }
405 :board_id => 'lala' }
406 )
406 )
407 assert_routing(
407 assert_routing(
408 { :method => 'post', :path => "/boards/22/topics/555/replies" },
408 { :method => 'post', :path => "/boards/22/topics/555/replies" },
409 { :controller => 'messages', :action => 'reply', :id => '555',
409 { :controller => 'messages', :action => 'reply', :id => '555',
410 :board_id => '22' }
410 :board_id => '22' }
411 )
411 )
412 assert_routing(
412 assert_routing(
413 { :method => 'post', :path => "/boards/22/topics/555/destroy" },
413 { :method => 'post', :path => "/boards/22/topics/555/destroy" },
414 { :controller => 'messages', :action => 'destroy', :id => '555',
414 { :controller => 'messages', :action => 'destroy', :id => '555',
415 :board_id => '22' }
415 :board_id => '22' }
416 )
416 )
417 end
417 end
418
418
419 context "news" do
419 context "news" do
420 should_route :get, "/news", :controller => 'news', :action => 'index'
420 should_route :get, "/news", :controller => 'news', :action => 'index'
421 should_route :get, "/news.atom", :controller => 'news', :action => 'index', :format => 'atom'
421 should_route :get, "/news.atom", :controller => 'news', :action => 'index', :format => 'atom'
422 should_route :get, "/news.xml", :controller => 'news', :action => 'index', :format => 'xml'
422 should_route :get, "/news.xml", :controller => 'news', :action => 'index', :format => 'xml'
423 should_route :get, "/news.json", :controller => 'news', :action => 'index', :format => 'json'
423 should_route :get, "/news.json", :controller => 'news', :action => 'index', :format => 'json'
424 should_route :get, "/projects/567/news", :controller => 'news', :action => 'index', :project_id => '567'
424 should_route :get, "/projects/567/news", :controller => 'news', :action => 'index', :project_id => '567'
425 should_route :get, "/projects/567/news.atom", :controller => 'news', :action => 'index', :format => 'atom', :project_id => '567'
425 should_route :get, "/projects/567/news.atom", :controller => 'news', :action => 'index', :format => 'atom', :project_id => '567'
426 should_route :get, "/projects/567/news.xml", :controller => 'news', :action => 'index', :format => 'xml', :project_id => '567'
426 should_route :get, "/projects/567/news.xml", :controller => 'news', :action => 'index', :format => 'xml', :project_id => '567'
427 should_route :get, "/projects/567/news.json", :controller => 'news', :action => 'index', :format => 'json', :project_id => '567'
427 should_route :get, "/projects/567/news.json", :controller => 'news', :action => 'index', :format => 'json', :project_id => '567'
428 should_route :get, "/news/2", :controller => 'news', :action => 'show', :id => '2'
428 should_route :get, "/news/2", :controller => 'news', :action => 'show', :id => '2'
429 should_route :get, "/projects/567/news/new", :controller => 'news', :action => 'new', :project_id => '567'
429 should_route :get, "/projects/567/news/new", :controller => 'news', :action => 'new', :project_id => '567'
430 should_route :get, "/news/234", :controller => 'news', :action => 'show', :id => '234'
430 should_route :get, "/news/234", :controller => 'news', :action => 'show', :id => '234'
431 should_route :get, "/news/567/edit", :controller => 'news', :action => 'edit', :id => '567'
431 should_route :get, "/news/567/edit", :controller => 'news', :action => 'edit', :id => '567'
432 should_route :get, "/news/preview", :controller => 'previews', :action => 'news'
432 should_route :get, "/news/preview", :controller => 'previews', :action => 'news'
433
433
434 should_route :post, "/projects/567/news", :controller => 'news', :action => 'create', :project_id => '567'
434 should_route :post, "/projects/567/news", :controller => 'news', :action => 'create', :project_id => '567'
435 should_route :post, "/news/567/comments", :controller => 'comments', :action => 'create', :id => '567'
435 should_route :post, "/news/567/comments", :controller => 'comments', :action => 'create', :id => '567'
436
436
437 should_route :put, "/news/567", :controller => 'news', :action => 'update', :id => '567'
437 should_route :put, "/news/567", :controller => 'news', :action => 'update', :id => '567'
438
438
439 should_route :delete, "/news/567", :controller => 'news', :action => 'destroy', :id => '567'
439 should_route :delete, "/news/567", :controller => 'news', :action => 'destroy', :id => '567'
440 should_route :delete, "/news/567/comments/15", :controller => 'comments', :action => 'destroy', :id => '567', :comment_id => '15'
440 should_route :delete, "/news/567/comments/15", :controller => 'comments', :action => 'destroy', :id => '567', :comment_id => '15'
441 end
441 end
442
442
443 context "projects" do
443 context "projects" do
444 should_route :get, "/projects", :controller => 'projects', :action => 'index'
444 should_route :get, "/projects", :controller => 'projects', :action => 'index'
445 should_route :get, "/projects.atom", :controller => 'projects', :action => 'index', :format => 'atom'
445 should_route :get, "/projects.atom", :controller => 'projects', :action => 'index', :format => 'atom'
446 should_route :get, "/projects.xml", :controller => 'projects', :action => 'index', :format => 'xml'
446 should_route :get, "/projects.xml", :controller => 'projects', :action => 'index', :format => 'xml'
447 should_route :get, "/projects/new", :controller => 'projects', :action => 'new'
447 should_route :get, "/projects/new", :controller => 'projects', :action => 'new'
448 should_route :get, "/projects/test", :controller => 'projects', :action => 'show', :id => 'test'
448 should_route :get, "/projects/test", :controller => 'projects', :action => 'show', :id => 'test'
449 should_route :get, "/projects/1.xml", :controller => 'projects', :action => 'show', :id => '1', :format => 'xml'
449 should_route :get, "/projects/1.xml", :controller => 'projects', :action => 'show', :id => '1', :format => 'xml'
450 should_route :get, "/projects/4223/settings", :controller => 'projects', :action => 'settings', :id => '4223'
450 should_route :get, "/projects/4223/settings", :controller => 'projects', :action => 'settings', :id => '4223'
451 should_route :get, "/projects/4223/settings/members", :controller => 'projects', :action => 'settings', :id => '4223', :tab => 'members'
451 should_route :get, "/projects/4223/settings/members", :controller => 'projects', :action => 'settings', :id => '4223', :tab => 'members'
452 should_route :get, "/projects/33/files", :controller => 'files', :action => 'index', :project_id => '33'
452 should_route :get, "/projects/33/files", :controller => 'files', :action => 'index', :project_id => '33'
453 should_route :get, "/projects/33/files/new", :controller => 'files', :action => 'new', :project_id => '33'
453 should_route :get, "/projects/33/files/new", :controller => 'files', :action => 'new', :project_id => '33'
454 should_route :get, "/projects/33/roadmap", :controller => 'versions', :action => 'index', :project_id => '33'
454 should_route :get, "/projects/33/roadmap", :controller => 'versions', :action => 'index', :project_id => '33'
455 should_route :get, "/projects/33/activity", :controller => 'activities', :action => 'index', :id => '33'
455 should_route :get, "/projects/33/activity", :controller => 'activities', :action => 'index', :id => '33'
456 should_route :get, "/projects/33/activity.atom", :controller => 'activities', :action => 'index', :id => '33', :format => 'atom'
456 should_route :get, "/projects/33/activity.atom", :controller => 'activities', :action => 'index', :id => '33', :format => 'atom'
457
457
458 should_route :post, "/projects", :controller => 'projects', :action => 'create'
458 should_route :post, "/projects", :controller => 'projects', :action => 'create'
459 should_route :post, "/projects.xml", :controller => 'projects', :action => 'create', :format => 'xml'
459 should_route :post, "/projects.xml", :controller => 'projects', :action => 'create', :format => 'xml'
460 should_route :post, "/projects/33/files", :controller => 'files', :action => 'create', :project_id => '33'
460 should_route :post, "/projects/33/files", :controller => 'files', :action => 'create', :project_id => '33'
461 should_route :post, "/projects/64/archive", :controller => 'projects', :action => 'archive', :id => '64'
461 should_route :post, "/projects/64/archive", :controller => 'projects', :action => 'archive', :id => '64'
462 should_route :post, "/projects/64/unarchive", :controller => 'projects', :action => 'unarchive', :id => '64'
462 should_route :post, "/projects/64/unarchive", :controller => 'projects', :action => 'unarchive', :id => '64'
463
463
464 should_route :put, "/projects/64/enumerations", :controller => 'project_enumerations', :action => 'update', :project_id => '64'
464 should_route :put, "/projects/64/enumerations", :controller => 'project_enumerations', :action => 'update', :project_id => '64'
465 should_route :put, "/projects/4223", :controller => 'projects', :action => 'update', :id => '4223'
465 should_route :put, "/projects/4223", :controller => 'projects', :action => 'update', :id => '4223'
466 should_route :put, "/projects/1.xml", :controller => 'projects', :action => 'update', :id => '1', :format => 'xml'
466 should_route :put, "/projects/1.xml", :controller => 'projects', :action => 'update', :id => '1', :format => 'xml'
467
467
468 should_route :delete, "/projects/64", :controller => 'projects', :action => 'destroy', :id => '64'
468 should_route :delete, "/projects/64", :controller => 'projects', :action => 'destroy', :id => '64'
469 should_route :delete, "/projects/1.xml", :controller => 'projects', :action => 'destroy', :id => '1', :format => 'xml'
469 should_route :delete, "/projects/1.xml", :controller => 'projects', :action => 'destroy', :id => '1', :format => 'xml'
470 should_route :delete, "/projects/64/enumerations", :controller => 'project_enumerations', :action => 'destroy', :project_id => '64'
470 should_route :delete, "/projects/64/enumerations", :controller => 'project_enumerations', :action => 'destroy', :project_id => '64'
471 end
471 end
472
472
473 context "queries" do
473 context "queries" do
474 should_route :get, "/queries.xml", :controller => 'queries', :action => 'index', :format => 'xml'
474 should_route :get, "/queries.xml", :controller => 'queries', :action => 'index', :format => 'xml'
475 should_route :get, "/queries.json", :controller => 'queries', :action => 'index', :format => 'json'
475 should_route :get, "/queries.json", :controller => 'queries', :action => 'index', :format => 'json'
476
476
477 should_route :get, "/queries/new", :controller => 'queries', :action => 'new'
477 should_route :get, "/queries/new", :controller => 'queries', :action => 'new'
478 should_route :get, "/projects/redmine/queries/new", :controller => 'queries', :action => 'new', :project_id => 'redmine'
478 should_route :get, "/projects/redmine/queries/new", :controller => 'queries', :action => 'new', :project_id => 'redmine'
479
479
480 should_route :post, "/queries", :controller => 'queries', :action => 'create'
480 should_route :post, "/queries", :controller => 'queries', :action => 'create'
481 should_route :post, "/projects/redmine/queries", :controller => 'queries', :action => 'create', :project_id => 'redmine'
481 should_route :post, "/projects/redmine/queries", :controller => 'queries', :action => 'create', :project_id => 'redmine'
482
482
483 should_route :get, "/queries/1/edit", :controller => 'queries', :action => 'edit', :id => '1'
483 should_route :get, "/queries/1/edit", :controller => 'queries', :action => 'edit', :id => '1'
484
484
485 should_route :put, "/queries/1", :controller => 'queries', :action => 'update', :id => '1'
485 should_route :put, "/queries/1", :controller => 'queries', :action => 'update', :id => '1'
486
486
487 should_route :delete, "/queries/1", :controller => 'queries', :action => 'destroy', :id => '1'
487 should_route :delete, "/queries/1", :controller => 'queries', :action => 'destroy', :id => '1'
488 end
488 end
489
489
490 context "repositories" do
490 def test_repositories
491 should_route :get, "/projects/redmine/repository", :controller => 'repositories', :action => 'show', :id => 'redmine'
491 assert_routing(
492 should_route :get, "/projects/redmine/repository/edit", :controller => 'repositories', :action => 'edit', :id => 'redmine'
492 { :method => 'get',
493 should_route :get, "/projects/redmine/repository/revisions", :controller => 'repositories', :action => 'revisions', :id => 'redmine'
493 :path => "/projects/redmine/repository" },
494 should_route :get, "/projects/redmine/repository/revisions.atom", :controller => 'repositories', :action => 'revisions', :id => 'redmine', :format => 'atom'
494 { :controller => 'repositories', :action => 'show', :id => 'redmine' }
495 should_route :get, "/projects/redmine/repository/revisions/2457", :controller => 'repositories', :action => 'revision', :id => 'redmine', :rev => '2457'
495 )
496 should_route :get, "/projects/redmine/repository/revisions/2457/diff", :controller => 'repositories', :action => 'diff', :id => 'redmine', :rev => '2457'
496 assert_routing(
497 should_route :get, "/projects/redmine/repository/revisions/2457/diff.diff", :controller => 'repositories', :action => 'diff', :id => 'redmine', :rev => '2457', :format => 'diff'
497 { :method => 'get',
498 should_route :get, "/projects/redmine/repository/diff/path/to/file.c", :controller => 'repositories', :action => 'diff', :id => 'redmine', :path => %w[path to file.c]
498 :path => "/projects/redmine/repository/edit" },
499 should_route :get, "/projects/redmine/repository/revisions/2/diff/path/to/file.c", :controller => 'repositories', :action => 'diff', :id => 'redmine', :path => %w[path to file.c], :rev => '2'
499 { :controller => 'repositories', :action => 'edit', :id => 'redmine' }
500 should_route :get, "/projects/redmine/repository/browse/path/to/file.c", :controller => 'repositories', :action => 'browse', :id => 'redmine', :path => %w[path to file.c]
500 )
501 should_route :get, "/projects/redmine/repository/entry/path/to/file.c", :controller => 'repositories', :action => 'entry', :id => 'redmine', :path => %w[path to file.c]
501 assert_routing(
502 should_route :get, "/projects/redmine/repository/revisions/2/entry/path/to/file.c", :controller => 'repositories', :action => 'entry', :id => 'redmine', :path => %w[path to file.c], :rev => '2'
502 { :method => 'get',
503 should_route :get, "/projects/redmine/repository/raw/path/to/file.c", :controller => 'repositories', :action => 'entry', :id => 'redmine', :path => %w[path to file.c], :format => 'raw'
503 :path => "/projects/redmine/repository/revisions" },
504 should_route :get, "/projects/redmine/repository/revisions/2/raw/path/to/file.c", :controller => 'repositories', :action => 'entry', :id => 'redmine', :path => %w[path to file.c], :rev => '2', :format => 'raw'
504 { :controller => 'repositories', :action => 'revisions', :id => 'redmine' }
505 should_route :get, "/projects/redmine/repository/annotate/path/to/file.c", :controller => 'repositories', :action => 'annotate', :id => 'redmine', :path => %w[path to file.c]
505 )
506 should_route :get, "/projects/redmine/repository/changes/path/to/file.c", :controller => 'repositories', :action => 'changes', :id => 'redmine', :path => %w[path to file.c]
506 assert_routing(
507 should_route :get, "/projects/redmine/repository/statistics", :controller => 'repositories', :action => 'stats', :id => 'redmine'
507 { :method => 'get',
508
508 :path => "/projects/redmine/repository/revisions.atom" },
509 should_route :post, "/projects/redmine/repository/edit", :controller => 'repositories', :action => 'edit', :id => 'redmine'
509 { :controller => 'repositories', :action => 'revisions', :id => 'redmine',
510 :format => 'atom' }
511 )
512 assert_routing(
513 { :method => 'get',
514 :path => "/projects/redmine/repository/revisions/2457" },
515 { :controller => 'repositories', :action => 'revision', :id => 'redmine',
516 :rev => '2457' }
517 )
518 assert_routing(
519 { :method => 'get',
520 :path => "/projects/redmine/repository/revisions/2457/diff" },
521 { :controller => 'repositories', :action => 'diff', :id => 'redmine',
522 :rev => '2457' }
523 )
524 assert_routing(
525 { :method => 'get',
526 :path => "/projects/redmine/repository/revisions/2457/diff.diff" },
527 { :controller => 'repositories', :action => 'diff', :id => 'redmine',
528 :rev => '2457', :format => 'diff' }
529 )
530 assert_routing(
531 { :method => 'get',
532 :path => "/projects/redmine/repository/diff/path/to/file.c" },
533 { :controller => 'repositories', :action => 'diff', :id => 'redmine',
534 :path => %w[path to file.c] }
535 )
536 assert_routing(
537 { :method => 'get',
538 :path => "/projects/redmine/repository/revisions/2/diff/path/to/file.c" },
539 { :controller => 'repositories', :action => 'diff', :id => 'redmine',
540 :path => %w[path to file.c], :rev => '2' }
541 )
542 assert_routing(
543 { :method => 'get',
544 :path => "/projects/redmine/repository/browse/path/to/file.c" },
545 { :controller => 'repositories', :action => 'browse', :id => 'redmine',
546 :path => %w[path to file.c] }
547 )
548 assert_routing(
549 { :method => 'get',
550 :path => "/projects/redmine/repository/entry/path/to/file.c" },
551 { :controller => 'repositories', :action => 'entry', :id => 'redmine',
552 :path => %w[path to file.c] }
553 )
554 assert_routing(
555 { :method => 'get',
556 :path => "/projects/redmine/repository/revisions/2/entry/path/to/file.c" },
557 { :controller => 'repositories', :action => 'entry', :id => 'redmine',
558 :path => %w[path to file.c], :rev => '2' }
559 )
560 assert_routing(
561 { :method => 'get',
562 :path => "/projects/redmine/repository/raw/path/to/file.c" },
563 { :controller => 'repositories', :action => 'entry', :id => 'redmine',
564 :path => %w[path to file.c], :format => 'raw' }
565 )
566 assert_routing(
567 { :method => 'get',
568 :path => "/projects/redmine/repository/revisions/2/raw/path/to/file.c" },
569 { :controller => 'repositories', :action => 'entry', :id => 'redmine',
570 :path => %w[path to file.c], :rev => '2', :format => 'raw' }
571 )
572 assert_routing(
573 { :method => 'get',
574 :path => "/projects/redmine/repository/annotate/path/to/file.c" },
575 { :controller => 'repositories', :action => 'annotate', :id => 'redmine',
576 :path => %w[path to file.c] }
577 )
578 assert_routing(
579 { :method => 'get',
580 :path => "/projects/redmine/repository/changes/path/to/file.c" },
581 { :controller => 'repositories', :action => 'changes', :id => 'redmine',
582 :path => %w[path to file.c] }
583 )
584 assert_routing(
585 { :method => 'get',
586 :path => "/projects/redmine/repository/statistics" },
587 { :controller => 'repositories', :action => 'stats', :id => 'redmine' }
588 )
589 assert_routing(
590 { :method => 'post',
591 :path => "/projects/redmine/repository/edit" },
592 { :controller => 'repositories', :action => 'edit', :id => 'redmine' }
593 )
510 end
594 end
511
595
512 context "roles" do
596 context "roles" do
513 should_route :get, "/roles", :controller => 'roles', :action => 'index'
597 should_route :get, "/roles", :controller => 'roles', :action => 'index'
514 should_route :get, "/roles/new", :controller => 'roles', :action => 'new'
598 should_route :get, "/roles/new", :controller => 'roles', :action => 'new'
515 should_route :post, "/roles", :controller => 'roles', :action => 'create'
599 should_route :post, "/roles", :controller => 'roles', :action => 'create'
516 should_route :get, "/roles/2/edit", :controller => 'roles', :action => 'edit', :id => 2
600 should_route :get, "/roles/2/edit", :controller => 'roles', :action => 'edit', :id => 2
517 should_route :put, "/roles/2", :controller => 'roles', :action => 'update', :id => 2
601 should_route :put, "/roles/2", :controller => 'roles', :action => 'update', :id => 2
518 should_route :delete, "/roles/2", :controller => 'roles', :action => 'destroy', :id => 2
602 should_route :delete, "/roles/2", :controller => 'roles', :action => 'destroy', :id => 2
519 should_route :get, "/roles/permissions", :controller => 'roles', :action => 'permissions'
603 should_route :get, "/roles/permissions", :controller => 'roles', :action => 'permissions'
520 should_route :post, "/roles/permissions", :controller => 'roles', :action => 'permissions'
604 should_route :post, "/roles/permissions", :controller => 'roles', :action => 'permissions'
521 end
605 end
522
606
523 def test_timelogs_global
607 def test_timelogs_global
524 assert_routing(
608 assert_routing(
525 { :method => 'get', :path => "/time_entries" },
609 { :method => 'get', :path => "/time_entries" },
526 { :controller => 'timelog', :action => 'index' }
610 { :controller => 'timelog', :action => 'index' }
527 )
611 )
528 assert_routing(
612 assert_routing(
529 { :method => 'get', :path => "/time_entries.csv" },
613 { :method => 'get', :path => "/time_entries.csv" },
530 { :controller => 'timelog', :action => 'index', :format => 'csv' }
614 { :controller => 'timelog', :action => 'index', :format => 'csv' }
531 )
615 )
532 assert_routing(
616 assert_routing(
533 { :method => 'get', :path => "/time_entries.atom" },
617 { :method => 'get', :path => "/time_entries.atom" },
534 { :controller => 'timelog', :action => 'index', :format => 'atom' }
618 { :controller => 'timelog', :action => 'index', :format => 'atom' }
535 )
619 )
536 assert_routing(
620 assert_routing(
537 { :method => 'get', :path => "/time_entries/new" },
621 { :method => 'get', :path => "/time_entries/new" },
538 { :controller => 'timelog', :action => 'new' }
622 { :controller => 'timelog', :action => 'new' }
539 )
623 )
540 assert_routing(
624 assert_routing(
541 { :method => 'get', :path => "/time_entries/22/edit" },
625 { :method => 'get', :path => "/time_entries/22/edit" },
542 { :controller => 'timelog', :action => 'edit', :id => '22' }
626 { :controller => 'timelog', :action => 'edit', :id => '22' }
543 )
627 )
544 assert_routing(
628 assert_routing(
545 { :method => 'post', :path => "/time_entries" },
629 { :method => 'post', :path => "/time_entries" },
546 { :controller => 'timelog', :action => 'create' }
630 { :controller => 'timelog', :action => 'create' }
547 )
631 )
548 assert_routing(
632 assert_routing(
549 { :method => 'put', :path => "/time_entries/22" },
633 { :method => 'put', :path => "/time_entries/22" },
550 { :controller => 'timelog', :action => 'update', :id => '22' }
634 { :controller => 'timelog', :action => 'update', :id => '22' }
551 )
635 )
552 assert_routing(
636 assert_routing(
553 { :method => 'delete', :path => "/time_entries/55" },
637 { :method => 'delete', :path => "/time_entries/55" },
554 { :controller => 'timelog', :action => 'destroy', :id => '55' }
638 { :controller => 'timelog', :action => 'destroy', :id => '55' }
555 )
639 )
556 end
640 end
557
641
558 def test_timelogs_scoped_under_project
642 def test_timelogs_scoped_under_project
559 assert_routing(
643 assert_routing(
560 { :method => 'get', :path => "/projects/567/time_entries" },
644 { :method => 'get', :path => "/projects/567/time_entries" },
561 { :controller => 'timelog', :action => 'index', :project_id => '567' }
645 { :controller => 'timelog', :action => 'index', :project_id => '567' }
562 )
646 )
563 assert_routing(
647 assert_routing(
564 { :method => 'get', :path => "/projects/567/time_entries.csv" },
648 { :method => 'get', :path => "/projects/567/time_entries.csv" },
565 { :controller => 'timelog', :action => 'index', :project_id => '567',
649 { :controller => 'timelog', :action => 'index', :project_id => '567',
566 :format => 'csv' }
650 :format => 'csv' }
567 )
651 )
568 assert_routing(
652 assert_routing(
569 { :method => 'get', :path => "/projects/567/time_entries.atom" },
653 { :method => 'get', :path => "/projects/567/time_entries.atom" },
570 { :controller => 'timelog', :action => 'index', :project_id => '567',
654 { :controller => 'timelog', :action => 'index', :project_id => '567',
571 :format => 'atom' }
655 :format => 'atom' }
572 )
656 )
573 assert_routing(
657 assert_routing(
574 { :method => 'get', :path => "/projects/567/time_entries/new" },
658 { :method => 'get', :path => "/projects/567/time_entries/new" },
575 { :controller => 'timelog', :action => 'new', :project_id => '567' }
659 { :controller => 'timelog', :action => 'new', :project_id => '567' }
576 )
660 )
577 assert_routing(
661 assert_routing(
578 { :method => 'get', :path => "/projects/567/time_entries/22/edit" },
662 { :method => 'get', :path => "/projects/567/time_entries/22/edit" },
579 { :controller => 'timelog', :action => 'edit',
663 { :controller => 'timelog', :action => 'edit',
580 :id => '22', :project_id => '567' }
664 :id => '22', :project_id => '567' }
581 )
665 )
582 assert_routing(
666 assert_routing(
583 { :method => 'post', :path => "/projects/567/time_entries" },
667 { :method => 'post', :path => "/projects/567/time_entries" },
584 { :controller => 'timelog', :action => 'create',
668 { :controller => 'timelog', :action => 'create',
585 :project_id => '567' }
669 :project_id => '567' }
586 )
670 )
587 assert_routing(
671 assert_routing(
588 { :method => 'put', :path => "/projects/567/time_entries/22" },
672 { :method => 'put', :path => "/projects/567/time_entries/22" },
589 { :controller => 'timelog', :action => 'update',
673 { :controller => 'timelog', :action => 'update',
590 :id => '22', :project_id => '567' }
674 :id => '22', :project_id => '567' }
591 )
675 )
592 assert_routing(
676 assert_routing(
593 { :method => 'delete', :path => "/projects/567/time_entries/55" },
677 { :method => 'delete', :path => "/projects/567/time_entries/55" },
594 { :controller => 'timelog', :action => 'destroy',
678 { :controller => 'timelog', :action => 'destroy',
595 :id => '55', :project_id => '567' }
679 :id => '55', :project_id => '567' }
596 )
680 )
597 end
681 end
598
682
599 context "timelogs (scoped under issues)" do
683 context "timelogs (scoped under issues)" do
600 should_route :get, "/issues/234/time_entries", :controller => 'timelog', :action => 'index', :issue_id => '234'
684 should_route :get, "/issues/234/time_entries", :controller => 'timelog', :action => 'index', :issue_id => '234'
601 should_route :get, "/issues/234/time_entries.csv", :controller => 'timelog', :action => 'index', :issue_id => '234', :format => 'csv'
685 should_route :get, "/issues/234/time_entries.csv", :controller => 'timelog', :action => 'index', :issue_id => '234', :format => 'csv'
602 should_route :get, "/issues/234/time_entries.atom", :controller => 'timelog', :action => 'index', :issue_id => '234', :format => 'atom'
686 should_route :get, "/issues/234/time_entries.atom", :controller => 'timelog', :action => 'index', :issue_id => '234', :format => 'atom'
603 should_route :get, "/issues/234/time_entries/new", :controller => 'timelog', :action => 'new', :issue_id => '234'
687 should_route :get, "/issues/234/time_entries/new", :controller => 'timelog', :action => 'new', :issue_id => '234'
604 should_route :get, "/issues/234/time_entries/22/edit", :controller => 'timelog', :action => 'edit', :id => '22', :issue_id => '234'
688 should_route :get, "/issues/234/time_entries/22/edit", :controller => 'timelog', :action => 'edit', :id => '22', :issue_id => '234'
605
689
606 should_route :post, "/issues/234/time_entries", :controller => 'timelog', :action => 'create', :issue_id => '234'
690 should_route :post, "/issues/234/time_entries", :controller => 'timelog', :action => 'create', :issue_id => '234'
607
691
608 should_route :put, "/issues/234/time_entries/22", :controller => 'timelog', :action => 'update', :id => '22', :issue_id => '234'
692 should_route :put, "/issues/234/time_entries/22", :controller => 'timelog', :action => 'update', :id => '22', :issue_id => '234'
609
693
610 should_route :delete, "/issues/234/time_entries/55", :controller => 'timelog', :action => 'destroy', :id => '55', :issue_id => '234'
694 should_route :delete, "/issues/234/time_entries/55", :controller => 'timelog', :action => 'destroy', :id => '55', :issue_id => '234'
611 end
695 end
612
696
613 context "timelogs (scoped under project and issues)" do
697 context "timelogs (scoped under project and issues)" do
614 should_route :get, "/projects/ecookbook/issues/234/time_entries", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook'
698 should_route :get, "/projects/ecookbook/issues/234/time_entries", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook'
615 should_route :get, "/projects/ecookbook/issues/234/time_entries.csv", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook', :format => 'csv'
699 should_route :get, "/projects/ecookbook/issues/234/time_entries.csv", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook', :format => 'csv'
616 should_route :get, "/projects/ecookbook/issues/234/time_entries.atom", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook', :format => 'atom'
700 should_route :get, "/projects/ecookbook/issues/234/time_entries.atom", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook', :format => 'atom'
617 should_route :get, "/projects/ecookbook/issues/234/time_entries/new", :controller => 'timelog', :action => 'new', :issue_id => '234', :project_id => 'ecookbook'
701 should_route :get, "/projects/ecookbook/issues/234/time_entries/new", :controller => 'timelog', :action => 'new', :issue_id => '234', :project_id => 'ecookbook'
618 should_route :get, "/projects/ecookbook/issues/234/time_entries/22/edit", :controller => 'timelog', :action => 'edit', :id => '22', :issue_id => '234', :project_id => 'ecookbook'
702 should_route :get, "/projects/ecookbook/issues/234/time_entries/22/edit", :controller => 'timelog', :action => 'edit', :id => '22', :issue_id => '234', :project_id => 'ecookbook'
619
703
620 should_route :post, "/projects/ecookbook/issues/234/time_entries", :controller => 'timelog', :action => 'create', :issue_id => '234', :project_id => 'ecookbook'
704 should_route :post, "/projects/ecookbook/issues/234/time_entries", :controller => 'timelog', :action => 'create', :issue_id => '234', :project_id => 'ecookbook'
621
705
622 should_route :put, "/projects/ecookbook/issues/234/time_entries/22", :controller => 'timelog', :action => 'update', :id => '22', :issue_id => '234', :project_id => 'ecookbook'
706 should_route :put, "/projects/ecookbook/issues/234/time_entries/22", :controller => 'timelog', :action => 'update', :id => '22', :issue_id => '234', :project_id => 'ecookbook'
623
707
624 should_route :delete, "/projects/ecookbook/issues/234/time_entries/55", :controller => 'timelog', :action => 'destroy', :id => '55', :issue_id => '234', :project_id => 'ecookbook'
708 should_route :delete, "/projects/ecookbook/issues/234/time_entries/55", :controller => 'timelog', :action => 'destroy', :id => '55', :issue_id => '234', :project_id => 'ecookbook'
625
709
626 should_route :get, "/time_entries/report", :controller => 'timelog', :action => 'report'
710 should_route :get, "/time_entries/report", :controller => 'timelog', :action => 'report'
627 should_route :get, "/projects/567/time_entries/report", :controller => 'timelog', :action => 'report', :project_id => '567'
711 should_route :get, "/projects/567/time_entries/report", :controller => 'timelog', :action => 'report', :project_id => '567'
628 should_route :get, "/projects/567/time_entries/report.csv", :controller => 'timelog', :action => 'report', :project_id => '567', :format => 'csv'
712 should_route :get, "/projects/567/time_entries/report.csv", :controller => 'timelog', :action => 'report', :project_id => '567', :format => 'csv'
629 end
713 end
630
714
631 context "users" do
715 context "users" do
632 should_route :get, "/users", :controller => 'users', :action => 'index'
716 should_route :get, "/users", :controller => 'users', :action => 'index'
633 should_route :get, "/users.xml", :controller => 'users', :action => 'index', :format => 'xml'
717 should_route :get, "/users.xml", :controller => 'users', :action => 'index', :format => 'xml'
634 should_route :get, "/users/44", :controller => 'users', :action => 'show', :id => '44'
718 should_route :get, "/users/44", :controller => 'users', :action => 'show', :id => '44'
635 should_route :get, "/users/44.xml", :controller => 'users', :action => 'show', :id => '44', :format => 'xml'
719 should_route :get, "/users/44.xml", :controller => 'users', :action => 'show', :id => '44', :format => 'xml'
636 should_route :get, "/users/current", :controller => 'users', :action => 'show', :id => 'current'
720 should_route :get, "/users/current", :controller => 'users', :action => 'show', :id => 'current'
637 should_route :get, "/users/current.xml", :controller => 'users', :action => 'show', :id => 'current', :format => 'xml'
721 should_route :get, "/users/current.xml", :controller => 'users', :action => 'show', :id => 'current', :format => 'xml'
638 should_route :get, "/users/new", :controller => 'users', :action => 'new'
722 should_route :get, "/users/new", :controller => 'users', :action => 'new'
639 should_route :get, "/users/444/edit", :controller => 'users', :action => 'edit', :id => '444'
723 should_route :get, "/users/444/edit", :controller => 'users', :action => 'edit', :id => '444'
640
724
641 should_route :post, "/users", :controller => 'users', :action => 'create'
725 should_route :post, "/users", :controller => 'users', :action => 'create'
642 should_route :post, "/users.xml", :controller => 'users', :action => 'create', :format => 'xml'
726 should_route :post, "/users.xml", :controller => 'users', :action => 'create', :format => 'xml'
643
727
644 should_route :put, "/users/444", :controller => 'users', :action => 'update', :id => '444'
728 should_route :put, "/users/444", :controller => 'users', :action => 'update', :id => '444'
645 should_route :put, "/users/444.xml", :controller => 'users', :action => 'update', :id => '444', :format => 'xml'
729 should_route :put, "/users/444.xml", :controller => 'users', :action => 'update', :id => '444', :format => 'xml'
646
730
647 should_route :delete, "/users/44", :controller => 'users', :action => 'destroy', :id => '44'
731 should_route :delete, "/users/44", :controller => 'users', :action => 'destroy', :id => '44'
648 should_route :delete, "/users/44.xml", :controller => 'users', :action => 'destroy', :id => '44', :format => 'xml'
732 should_route :delete, "/users/44.xml", :controller => 'users', :action => 'destroy', :id => '44', :format => 'xml'
649
733
650 should_route :post, "/users/123/memberships", :controller => 'users', :action => 'edit_membership', :id => '123'
734 should_route :post, "/users/123/memberships", :controller => 'users', :action => 'edit_membership', :id => '123'
651 should_route :put, "/users/123/memberships/55", :controller => 'users', :action => 'edit_membership', :id => '123', :membership_id => '55'
735 should_route :put, "/users/123/memberships/55", :controller => 'users', :action => 'edit_membership', :id => '123', :membership_id => '55'
652 should_route :delete, "/users/123/memberships/55", :controller => 'users', :action => 'destroy_membership', :id => '123', :membership_id => '55'
736 should_route :delete, "/users/123/memberships/55", :controller => 'users', :action => 'destroy_membership', :id => '123', :membership_id => '55'
653 end
737 end
654
738
655 context "versions" do
739 context "versions" do
656 # /projects/foo/versions is /projects/foo/roadmap
740 # /projects/foo/versions is /projects/foo/roadmap
657 should_route :get, "/projects/foo/versions.xml", :controller => 'versions', :action => 'index', :project_id => 'foo', :format => 'xml'
741 should_route :get, "/projects/foo/versions.xml", :controller => 'versions', :action => 'index', :project_id => 'foo', :format => 'xml'
658 should_route :get, "/projects/foo/versions.json", :controller => 'versions', :action => 'index', :project_id => 'foo', :format => 'json'
742 should_route :get, "/projects/foo/versions.json", :controller => 'versions', :action => 'index', :project_id => 'foo', :format => 'json'
659
743
660 should_route :get, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo'
744 should_route :get, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo'
661
745
662 should_route :post, "/projects/foo/versions", :controller => 'versions', :action => 'create', :project_id => 'foo'
746 should_route :post, "/projects/foo/versions", :controller => 'versions', :action => 'create', :project_id => 'foo'
663 should_route :post, "/projects/foo/versions.xml", :controller => 'versions', :action => 'create', :project_id => 'foo', :format => 'xml'
747 should_route :post, "/projects/foo/versions.xml", :controller => 'versions', :action => 'create', :project_id => 'foo', :format => 'xml'
664 should_route :post, "/projects/foo/versions.json", :controller => 'versions', :action => 'create', :project_id => 'foo', :format => 'json'
748 should_route :post, "/projects/foo/versions.json", :controller => 'versions', :action => 'create', :project_id => 'foo', :format => 'json'
665
749
666 should_route :get, "/versions/1", :controller => 'versions', :action => 'show', :id => '1'
750 should_route :get, "/versions/1", :controller => 'versions', :action => 'show', :id => '1'
667 should_route :get, "/versions/1.xml", :controller => 'versions', :action => 'show', :id => '1', :format => 'xml'
751 should_route :get, "/versions/1.xml", :controller => 'versions', :action => 'show', :id => '1', :format => 'xml'
668 should_route :get, "/versions/1.json", :controller => 'versions', :action => 'show', :id => '1', :format => 'json'
752 should_route :get, "/versions/1.json", :controller => 'versions', :action => 'show', :id => '1', :format => 'json'
669
753
670 should_route :get, "/versions/1/edit", :controller => 'versions', :action => 'edit', :id => '1'
754 should_route :get, "/versions/1/edit", :controller => 'versions', :action => 'edit', :id => '1'
671
755
672 should_route :put, "/versions/1", :controller => 'versions', :action => 'update', :id => '1'
756 should_route :put, "/versions/1", :controller => 'versions', :action => 'update', :id => '1'
673 should_route :put, "/versions/1.xml", :controller => 'versions', :action => 'update', :id => '1', :format => 'xml'
757 should_route :put, "/versions/1.xml", :controller => 'versions', :action => 'update', :id => '1', :format => 'xml'
674 should_route :put, "/versions/1.json", :controller => 'versions', :action => 'update', :id => '1', :format => 'json'
758 should_route :put, "/versions/1.json", :controller => 'versions', :action => 'update', :id => '1', :format => 'json'
675
759
676 should_route :delete, "/versions/1", :controller => 'versions', :action => 'destroy', :id => '1'
760 should_route :delete, "/versions/1", :controller => 'versions', :action => 'destroy', :id => '1'
677 should_route :delete, "/versions/1.xml", :controller => 'versions', :action => 'destroy', :id => '1', :format => 'xml'
761 should_route :delete, "/versions/1.xml", :controller => 'versions', :action => 'destroy', :id => '1', :format => 'xml'
678 should_route :delete, "/versions/1.json", :controller => 'versions', :action => 'destroy', :id => '1', :format => 'json'
762 should_route :delete, "/versions/1.json", :controller => 'versions', :action => 'destroy', :id => '1', :format => 'json'
679
763
680 should_route :put, "/projects/foo/versions/close_completed", :controller => 'versions', :action => 'close_completed', :project_id => 'foo'
764 should_route :put, "/projects/foo/versions/close_completed", :controller => 'versions', :action => 'close_completed', :project_id => 'foo'
681 should_route :post, "/versions/1/status_by", :controller => 'versions', :action => 'status_by', :id => '1'
765 should_route :post, "/versions/1/status_by", :controller => 'versions', :action => 'status_by', :id => '1'
682 end
766 end
683
767
684 def test_welcome
768 def test_welcome
685 assert_routing(
769 assert_routing(
686 { :method => 'get', :path => "/robots.txt" },
770 { :method => 'get', :path => "/robots.txt" },
687 { :controller => 'welcome', :action => 'robots' }
771 { :controller => 'welcome', :action => 'robots' }
688 )
772 )
689 end
773 end
690
774
691 def test_wiki_singular_projects_pages
775 def test_wiki_singular_projects_pages
692 assert_routing(
776 assert_routing(
693 { :method => 'get', :path => "/projects/567/wiki" },
777 { :method => 'get', :path => "/projects/567/wiki" },
694 { :controller => 'wiki', :action => 'show', :project_id => '567' }
778 { :controller => 'wiki', :action => 'show', :project_id => '567' }
695 )
779 )
696 assert_routing(
780 assert_routing(
697 { :method => 'get', :path => "/projects/567/wiki/lalala" },
781 { :method => 'get', :path => "/projects/567/wiki/lalala" },
698 { :controller => 'wiki', :action => 'show', :project_id => '567',
782 { :controller => 'wiki', :action => 'show', :project_id => '567',
699 :id => 'lalala' }
783 :id => 'lalala' }
700 )
784 )
701 assert_routing(
785 assert_routing(
702 { :method => 'get', :path => "/projects/567/wiki/my_page/edit" },
786 { :method => 'get', :path => "/projects/567/wiki/my_page/edit" },
703 { :controller => 'wiki', :action => 'edit', :project_id => '567',
787 { :controller => 'wiki', :action => 'edit', :project_id => '567',
704 :id => 'my_page' }
788 :id => 'my_page' }
705 )
789 )
706 assert_routing(
790 assert_routing(
707 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/history" },
791 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/history" },
708 { :controller => 'wiki', :action => 'history', :project_id => '1',
792 { :controller => 'wiki', :action => 'history', :project_id => '1',
709 :id => 'CookBook_documentation' }
793 :id => 'CookBook_documentation' }
710 )
794 )
711 assert_routing(
795 assert_routing(
712 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/diff" },
796 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/diff" },
713 { :controller => 'wiki', :action => 'diff', :project_id => '1',
797 { :controller => 'wiki', :action => 'diff', :project_id => '1',
714 :id => 'CookBook_documentation' }
798 :id => 'CookBook_documentation' }
715 )
799 )
716 assert_routing(
800 assert_routing(
717 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/diff/2" },
801 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/diff/2" },
718 { :controller => 'wiki', :action => 'diff', :project_id => '1',
802 { :controller => 'wiki', :action => 'diff', :project_id => '1',
719 :id => 'CookBook_documentation', :version => '2' }
803 :id => 'CookBook_documentation', :version => '2' }
720 )
804 )
721 assert_routing(
805 assert_routing(
722 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/diff/2/vs/1" },
806 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/diff/2/vs/1" },
723 { :controller => 'wiki', :action => 'diff', :project_id => '1',
807 { :controller => 'wiki', :action => 'diff', :project_id => '1',
724 :id => 'CookBook_documentation', :version => '2', :version_from => '1' }
808 :id => 'CookBook_documentation', :version => '2', :version_from => '1' }
725 )
809 )
726 assert_routing(
810 assert_routing(
727 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/annotate/2" },
811 { :method => 'get', :path => "/projects/1/wiki/CookBook_documentation/annotate/2" },
728 { :controller => 'wiki', :action => 'annotate', :project_id => '1',
812 { :controller => 'wiki', :action => 'annotate', :project_id => '1',
729 :id => 'CookBook_documentation', :version => '2' }
813 :id => 'CookBook_documentation', :version => '2' }
730 )
814 )
731 assert_routing(
815 assert_routing(
732 { :method => 'get', :path => "/projects/22/wiki/ladida/rename" },
816 { :method => 'get', :path => "/projects/22/wiki/ladida/rename" },
733 { :controller => 'wiki', :action => 'rename', :project_id => '22',
817 { :controller => 'wiki', :action => 'rename', :project_id => '22',
734 :id => 'ladida' }
818 :id => 'ladida' }
735 )
819 )
736 assert_routing(
820 assert_routing(
737 { :method => 'get', :path => "/projects/567/wiki/index" },
821 { :method => 'get', :path => "/projects/567/wiki/index" },
738 { :controller => 'wiki', :action => 'index', :project_id => '567' }
822 { :controller => 'wiki', :action => 'index', :project_id => '567' }
739 )
823 )
740 assert_routing(
824 assert_routing(
741 { :method => 'get', :path => "/projects/567/wiki/date_index" },
825 { :method => 'get', :path => "/projects/567/wiki/date_index" },
742 { :controller => 'wiki', :action => 'date_index', :project_id => '567' }
826 { :controller => 'wiki', :action => 'date_index', :project_id => '567' }
743 )
827 )
744 assert_routing(
828 assert_routing(
745 { :method => 'get', :path => "/projects/567/wiki/export" },
829 { :method => 'get', :path => "/projects/567/wiki/export" },
746 { :controller => 'wiki', :action => 'export', :project_id => '567' }
830 { :controller => 'wiki', :action => 'export', :project_id => '567' }
747 )
831 )
748 assert_routing(
832 assert_routing(
749 { :method => 'post', :path => "/projects/567/wiki/CookBook_documentation/preview" },
833 { :method => 'post', :path => "/projects/567/wiki/CookBook_documentation/preview" },
750 { :controller => 'wiki', :action => 'preview', :project_id => '567',
834 { :controller => 'wiki', :action => 'preview', :project_id => '567',
751 :id => 'CookBook_documentation' }
835 :id => 'CookBook_documentation' }
752 )
836 )
753 assert_routing(
837 assert_routing(
754 { :method => 'post', :path => "/projects/22/wiki/ladida/rename" },
838 { :method => 'post', :path => "/projects/22/wiki/ladida/rename" },
755 { :controller => 'wiki', :action => 'rename', :project_id => '22',
839 { :controller => 'wiki', :action => 'rename', :project_id => '22',
756 :id => 'ladida' }
840 :id => 'ladida' }
757 )
841 )
758 assert_routing(
842 assert_routing(
759 { :method => 'post', :path => "/projects/22/wiki/ladida/protect" },
843 { :method => 'post', :path => "/projects/22/wiki/ladida/protect" },
760 { :controller => 'wiki', :action => 'protect', :project_id => '22',
844 { :controller => 'wiki', :action => 'protect', :project_id => '22',
761 :id => 'ladida' }
845 :id => 'ladida' }
762 )
846 )
763 assert_routing(
847 assert_routing(
764 { :method => 'post', :path => "/projects/22/wiki/ladida/add_attachment" },
848 { :method => 'post', :path => "/projects/22/wiki/ladida/add_attachment" },
765 { :controller => 'wiki', :action => 'add_attachment', :project_id => '22',
849 { :controller => 'wiki', :action => 'add_attachment', :project_id => '22',
766 :id => 'ladida' }
850 :id => 'ladida' }
767 )
851 )
768 assert_routing(
852 assert_routing(
769 { :method => 'put', :path => "/projects/567/wiki/my_page" },
853 { :method => 'put', :path => "/projects/567/wiki/my_page" },
770 { :controller => 'wiki', :action => 'update', :project_id => '567',
854 { :controller => 'wiki', :action => 'update', :project_id => '567',
771 :id => 'my_page' }
855 :id => 'my_page' }
772 )
856 )
773 assert_routing(
857 assert_routing(
774 { :method => 'delete', :path => "/projects/22/wiki/ladida" },
858 { :method => 'delete', :path => "/projects/22/wiki/ladida" },
775 { :controller => 'wiki', :action => 'destroy', :project_id => '22',
859 { :controller => 'wiki', :action => 'destroy', :project_id => '22',
776 :id => 'ladida' }
860 :id => 'ladida' }
777 )
861 )
778 end
862 end
779
863
780 def test_wikis_plural_admin_setup
864 def test_wikis_plural_admin_setup
781 assert_routing(
865 assert_routing(
782 { :method => 'get', :path => "/projects/ladida/wiki/destroy" },
866 { :method => 'get', :path => "/projects/ladida/wiki/destroy" },
783 { :controller => 'wikis', :action => 'destroy', :id => 'ladida' }
867 { :controller => 'wikis', :action => 'destroy', :id => 'ladida' }
784 )
868 )
785 assert_routing(
869 assert_routing(
786 { :method => 'post', :path => "/projects/ladida/wiki" },
870 { :method => 'post', :path => "/projects/ladida/wiki" },
787 { :controller => 'wikis', :action => 'edit', :id => 'ladida' }
871 { :controller => 'wikis', :action => 'edit', :id => 'ladida' }
788 )
872 )
789 assert_routing(
873 assert_routing(
790 { :method => 'post', :path => "/projects/ladida/wiki/destroy" },
874 { :method => 'post', :path => "/projects/ladida/wiki/destroy" },
791 { :controller => 'wikis', :action => 'destroy', :id => 'ladida' }
875 { :controller => 'wikis', :action => 'destroy', :id => 'ladida' }
792 )
876 )
793 end
877 end
794
878
795 def test_administration_panel
879 def test_administration_panel
796 assert_routing(
880 assert_routing(
797 { :method => 'get', :path => "/admin/projects" },
881 { :method => 'get', :path => "/admin/projects" },
798 { :controller => 'admin', :action => 'projects' }
882 { :controller => 'admin', :action => 'projects' }
799 )
883 )
800 end
884 end
801 end
885 end
General Comments 0
You need to be logged in to leave comments. Login now