##// END OF EJS Templates
test: route: rearrange issues tests for each scopes...
Toshi MARUYAMA -
r8317:1a8338dbaf1f
parent child
Show More
@@ -1,129 +1,129
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 RoutingIssuesTest < ActionController::IntegrationTest
20 class RoutingIssuesTest < ActionController::IntegrationTest
21 def test_issues_rest_actions
21 def test_issues_rest_actions
22 assert_routing(
22 assert_routing(
23 { :method => 'get', :path => "/issues" },
23 { :method => 'get', :path => "/issues" },
24 { :controller => 'issues', :action => 'index' }
24 { :controller => 'issues', :action => 'index' }
25 )
25 )
26 assert_routing(
26 assert_routing(
27 { :method => 'get', :path => "/issues.pdf" },
27 { :method => 'get', :path => "/issues.pdf" },
28 { :controller => 'issues', :action => 'index', :format => 'pdf' }
28 { :controller => 'issues', :action => 'index', :format => 'pdf' }
29 )
29 )
30 assert_routing(
30 assert_routing(
31 { :method => 'get', :path => "/issues.atom" },
31 { :method => 'get', :path => "/issues.atom" },
32 { :controller => 'issues', :action => 'index', :format => 'atom' }
32 { :controller => 'issues', :action => 'index', :format => 'atom' }
33 )
33 )
34 assert_routing(
34 assert_routing(
35 { :method => 'get', :path => "/issues.xml" },
35 { :method => 'get', :path => "/issues.xml" },
36 { :controller => 'issues', :action => 'index', :format => 'xml' }
36 { :controller => 'issues', :action => 'index', :format => 'xml' }
37 )
37 )
38 assert_routing(
38 assert_routing(
39 { :method => 'get', :path => "/issues/64" },
39 { :method => 'get', :path => "/issues/64" },
40 { :controller => 'issues', :action => 'show', :id => '64' }
40 { :controller => 'issues', :action => 'show', :id => '64' }
41 )
41 )
42 assert_routing(
42 assert_routing(
43 { :method => 'get', :path => "/issues/64.pdf" },
43 { :method => 'get', :path => "/issues/64.pdf" },
44 { :controller => 'issues', :action => 'show', :id => '64',
44 { :controller => 'issues', :action => 'show', :id => '64',
45 :format => 'pdf' }
45 :format => 'pdf' }
46 )
46 )
47 assert_routing(
47 assert_routing(
48 { :method => 'get', :path => "/issues/64.atom" },
48 { :method => 'get', :path => "/issues/64.atom" },
49 { :controller => 'issues', :action => 'show', :id => '64',
49 { :controller => 'issues', :action => 'show', :id => '64',
50 :format => 'atom' }
50 :format => 'atom' }
51 )
51 )
52 assert_routing(
52 assert_routing(
53 { :method => 'get', :path => "/issues/64.xml" },
53 { :method => 'get', :path => "/issues/64.xml" },
54 { :controller => 'issues', :action => 'show', :id => '64',
54 { :controller => 'issues', :action => 'show', :id => '64',
55 :format => 'xml' }
55 :format => 'xml' }
56 )
56 )
57 assert_routing(
58 { :method => 'post', :path => "/issues.xml" },
59 { :controller => 'issues', :action => 'create', :format => 'xml' }
60 )
61 assert_routing(
62 { :method => 'get', :path => "/issues/64/edit" },
63 { :controller => 'issues', :action => 'edit', :id => '64' }
64 )
65 assert_routing(
66 { :method => 'put', :path => "/issues/1.xml" },
67 { :controller => 'issues', :action => 'update', :id => '1',
68 :format => 'xml' }
69 )
70 assert_routing(
71 { :method => 'delete', :path => "/issues/1.xml" },
72 { :controller => 'issues', :action => 'destroy', :id => '1',
73 :format => 'xml' }
74 )
57 end
75 end
58
76
59 def test_issues_rest_actions_scoped_under_project
77 def test_issues_rest_actions_scoped_under_project
60 assert_routing(
78 assert_routing(
61 { :method => 'get', :path => "/projects/23/issues" },
79 { :method => 'get', :path => "/projects/23/issues" },
62 { :controller => 'issues', :action => 'index', :project_id => '23' }
80 { :controller => 'issues', :action => 'index', :project_id => '23' }
63 )
81 )
64 assert_routing(
82 assert_routing(
65 { :method => 'get', :path => "/projects/23/issues.pdf" },
83 { :method => 'get', :path => "/projects/23/issues.pdf" },
66 { :controller => 'issues', :action => 'index', :project_id => '23',
84 { :controller => 'issues', :action => 'index', :project_id => '23',
67 :format => 'pdf' }
85 :format => 'pdf' }
68 )
86 )
69 assert_routing(
87 assert_routing(
70 { :method => 'get', :path => "/projects/23/issues.atom" },
88 { :method => 'get', :path => "/projects/23/issues.atom" },
71 { :controller => 'issues', :action => 'index', :project_id => '23',
89 { :controller => 'issues', :action => 'index', :project_id => '23',
72 :format => 'atom' }
90 :format => 'atom' }
73 )
91 )
74 assert_routing(
92 assert_routing(
75 { :method => 'get', :path => "/projects/23/issues.xml" },
93 { :method => 'get', :path => "/projects/23/issues.xml" },
76 { :controller => 'issues', :action => 'index', :project_id => '23',
94 { :controller => 'issues', :action => 'index', :project_id => '23',
77 :format => 'xml' }
95 :format => 'xml' }
78 )
96 )
79 assert_routing(
97 assert_routing(
98 { :method => 'post', :path => "/projects/23/issues" },
99 { :controller => 'issues', :action => 'create', :project_id => '23' }
100 )
101 assert_routing(
80 { :method => 'get', :path => "/projects/23/issues/new" },
102 { :method => 'get', :path => "/projects/23/issues/new" },
81 { :controller => 'issues', :action => 'new', :project_id => '23' }
103 { :controller => 'issues', :action => 'new', :project_id => '23' }
82 )
104 )
83 end
105 end
84
106
85 def test_issues_form_update
107 def test_issues_form_update
86 assert_routing(
108 assert_routing(
87 { :method => 'post', :path => "/projects/23/issues/new" },
109 { :method => 'post', :path => "/projects/23/issues/new" },
88 { :controller => 'issues', :action => 'new', :project_id => '23' }
110 { :controller => 'issues', :action => 'new', :project_id => '23' }
89 )
111 )
90 assert_routing(
91 { :method => 'post', :path => "/projects/23/issues" },
92 { :controller => 'issues', :action => 'create', :project_id => '23' }
93 )
94 assert_routing(
95 { :method => 'post', :path => "/issues.xml" },
96 { :controller => 'issues', :action => 'create', :format => 'xml' }
97 )
98 assert_routing(
99 { :method => 'get', :path => "/issues/64/edit" },
100 { :controller => 'issues', :action => 'edit', :id => '64' }
101 )
102 assert_routing(
103 { :method => 'put', :path => "/issues/1.xml" },
104 { :controller => 'issues', :action => 'update', :id => '1',
105 :format => 'xml' }
106 )
107 assert_routing(
108 { :method => 'delete', :path => "/issues/1.xml" },
109 { :controller => 'issues', :action => 'destroy', :id => '1',
110 :format => 'xml' }
111 )
112 end
112 end
113
113
114 def test_issues_extra_actions
114 def test_issues_extra_actions
115 assert_routing(
115 assert_routing(
116 { :method => 'get', :path => "/projects/23/issues/64/copy" },
116 { :method => 'get', :path => "/projects/23/issues/64/copy" },
117 { :controller => 'issues', :action => 'new', :project_id => '23',
117 { :controller => 'issues', :action => 'new', :project_id => '23',
118 :copy_from => '64' }
118 :copy_from => '64' }
119 )
119 )
120 assert_routing(
120 assert_routing(
121 { :method => 'get', :path => "/issues/bulk_edit" },
121 { :method => 'get', :path => "/issues/bulk_edit" },
122 { :controller => 'issues', :action => 'bulk_edit' }
122 { :controller => 'issues', :action => 'bulk_edit' }
123 )
123 )
124 assert_routing(
124 assert_routing(
125 { :method => 'post', :path => "/issues/bulk_update" },
125 { :method => 'post', :path => "/issues/bulk_update" },
126 { :controller => 'issues', :action => 'bulk_update' }
126 { :controller => 'issues', :action => 'bulk_update' }
127 )
127 )
128 end
128 end
129 end
129 end
General Comments 0
You need to be logged in to leave comments. Login now