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