comparison .svn/pristine/53/539b469592377fe5ec04bc7018cfe2f6bf2322bc.svn-base @ 1298:4f746d8966dd redmine_2.3_integration

Merge from redmine-2.3 branch to create new branch redmine-2.3-integration
author Chris Cannam
date Fri, 14 Jun 2013 09:28:30 +0100
parents 622f24f53b42
children
comparison
equal deleted inserted replaced
1297:0a574315af3e 1298:4f746d8966dd
1 # Redmine - project management software
2 # Copyright (C) 2006-2013 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 RoutingIssuesTest < ActionController::IntegrationTest
21 def test_issues_rest_actions
22 assert_routing(
23 { :method => 'get', :path => "/issues" },
24 { :controller => 'issues', :action => 'index' }
25 )
26 assert_routing(
27 { :method => 'get', :path => "/issues.pdf" },
28 { :controller => 'issues', :action => 'index', :format => 'pdf' }
29 )
30 assert_routing(
31 { :method => 'get', :path => "/issues.atom" },
32 { :controller => 'issues', :action => 'index', :format => 'atom' }
33 )
34 assert_routing(
35 { :method => 'get', :path => "/issues.xml" },
36 { :controller => 'issues', :action => 'index', :format => 'xml' }
37 )
38 assert_routing(
39 { :method => 'get', :path => "/issues/64" },
40 { :controller => 'issues', :action => 'show', :id => '64' }
41 )
42 assert_routing(
43 { :method => 'get', :path => "/issues/64.pdf" },
44 { :controller => 'issues', :action => 'show', :id => '64',
45 :format => 'pdf' }
46 )
47 assert_routing(
48 { :method => 'get', :path => "/issues/64.atom" },
49 { :controller => 'issues', :action => 'show', :id => '64',
50 :format => 'atom' }
51 )
52 assert_routing(
53 { :method => 'get', :path => "/issues/64.xml" },
54 { :controller => 'issues', :action => 'show', :id => '64',
55 :format => 'xml' }
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 )
75 end
76
77 def test_issues_rest_actions_scoped_under_project
78 assert_routing(
79 { :method => 'get', :path => "/projects/23/issues" },
80 { :controller => 'issues', :action => 'index', :project_id => '23' }
81 )
82 assert_routing(
83 { :method => 'get', :path => "/projects/23/issues.pdf" },
84 { :controller => 'issues', :action => 'index', :project_id => '23',
85 :format => 'pdf' }
86 )
87 assert_routing(
88 { :method => 'get', :path => "/projects/23/issues.atom" },
89 { :controller => 'issues', :action => 'index', :project_id => '23',
90 :format => 'atom' }
91 )
92 assert_routing(
93 { :method => 'get', :path => "/projects/23/issues.xml" },
94 { :controller => 'issues', :action => 'index', :project_id => '23',
95 :format => 'xml' }
96 )
97 assert_routing(
98 { :method => 'post', :path => "/projects/23/issues" },
99 { :controller => 'issues', :action => 'create', :project_id => '23' }
100 )
101 assert_routing(
102 { :method => 'get', :path => "/projects/23/issues/new" },
103 { :controller => 'issues', :action => 'new', :project_id => '23' }
104 )
105 end
106
107 def test_issues_form_update
108 ["post", "put"].each do |method|
109 assert_routing(
110 { :method => method, :path => "/projects/23/issues/update_form" },
111 { :controller => 'issues', :action => 'update_form', :project_id => '23' }
112 )
113 end
114 end
115
116 def test_issues_extra_actions
117 assert_routing(
118 { :method => 'get', :path => "/projects/23/issues/64/copy" },
119 { :controller => 'issues', :action => 'new', :project_id => '23',
120 :copy_from => '64' }
121 )
122 # For updating the bulk edit form
123 ["get", "post"].each do |method|
124 assert_routing(
125 { :method => method, :path => "/issues/bulk_edit" },
126 { :controller => 'issues', :action => 'bulk_edit' }
127 )
128 end
129 assert_routing(
130 { :method => 'post', :path => "/issues/bulk_update" },
131 { :controller => 'issues', :action => 'bulk_update' }
132 )
133 end
134 end