To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / test / integration / .svn / text-base / routing_test.rb.svn-base @ 442:753f1380d6bc

History | View | Annotate | Download (28.4 KB)

1 0:513646585e45 Chris
# redMine - project management software
2
# Copyright (C) 2006-2010  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 119:8661b858af72 Chris
require File.expand_path('../../test_helper', __FILE__)
19 0:513646585e45 Chris
20
class RoutingTest < ActionController::IntegrationTest
21
  context "activities" do
22 22:40f7cfd4df19 chris
    should_route :get, "/activity", :controller => 'activities', :action => 'index', :id => nil
23
    should_route :get, "/activity.atom", :controller => 'activities', :action => 'index', :id => nil, :format => 'atom'
24 0:513646585e45 Chris
  end
25
26
  context "attachments" do
27
    should_route :get, "/attachments/1", :controller => 'attachments', :action => 'show', :id => '1'
28
    should_route :get, "/attachments/1/filename.ext", :controller => 'attachments', :action => 'show', :id => '1', :filename => 'filename.ext'
29
    should_route :get, "/attachments/download/1", :controller => 'attachments', :action => 'download', :id => '1'
30
    should_route :get, "/attachments/download/1/filename.ext", :controller => 'attachments', :action => 'download', :id => '1', :filename => 'filename.ext'
31
  end
32
33
  context "boards" do
34
    should_route :get, "/projects/world_domination/boards", :controller => 'boards', :action => 'index', :project_id => 'world_domination'
35
    should_route :get, "/projects/world_domination/boards/new", :controller => 'boards', :action => 'new', :project_id => 'world_domination'
36
    should_route :get, "/projects/world_domination/boards/44", :controller => 'boards', :action => 'show', :project_id => 'world_domination', :id => '44'
37
    should_route :get, "/projects/world_domination/boards/44.atom", :controller => 'boards', :action => 'show', :project_id => 'world_domination', :id => '44', :format => 'atom'
38
    should_route :get, "/projects/world_domination/boards/44/edit", :controller => 'boards', :action => 'edit', :project_id => 'world_domination', :id => '44'
39
40
    should_route :post, "/projects/world_domination/boards/new", :controller => 'boards', :action => 'new', :project_id => 'world_domination'
41
    should_route :post, "/projects/world_domination/boards/44/edit", :controller => 'boards', :action => 'edit', :project_id => 'world_domination', :id => '44'
42
    should_route :post, "/projects/world_domination/boards/44/destroy", :controller => 'boards', :action => 'destroy', :project_id => 'world_domination', :id => '44'
43
44
  end
45
46
  context "documents" do
47
    should_route :get, "/projects/567/documents", :controller => 'documents', :action => 'index', :project_id => '567'
48
    should_route :get, "/projects/567/documents/new", :controller => 'documents', :action => 'new', :project_id => '567'
49
    should_route :get, "/documents/22", :controller => 'documents', :action => 'show', :id => '22'
50
    should_route :get, "/documents/22/edit", :controller => 'documents', :action => 'edit', :id => '22'
51
52
    should_route :post, "/projects/567/documents/new", :controller => 'documents', :action => 'new', :project_id => '567'
53
    should_route :post, "/documents/567/edit", :controller => 'documents', :action => 'edit', :id => '567'
54
    should_route :post, "/documents/567/destroy", :controller => 'documents', :action => 'destroy', :id => '567'
55
  end
56
57
  context "issues" do
58
    # REST actions
59
    should_route :get, "/issues", :controller => 'issues', :action => 'index'
60
    should_route :get, "/issues.pdf", :controller => 'issues', :action => 'index', :format => 'pdf'
61
    should_route :get, "/issues.atom", :controller => 'issues', :action => 'index', :format => 'atom'
62
    should_route :get, "/issues.xml", :controller => 'issues', :action => 'index', :format => 'xml'
63
    should_route :get, "/projects/23/issues", :controller => 'issues', :action => 'index', :project_id => '23'
64
    should_route :get, "/projects/23/issues.pdf", :controller => 'issues', :action => 'index', :project_id => '23', :format => 'pdf'
65
    should_route :get, "/projects/23/issues.atom", :controller => 'issues', :action => 'index', :project_id => '23', :format => 'atom'
66
    should_route :get, "/projects/23/issues.xml", :controller => 'issues', :action => 'index', :project_id => '23', :format => 'xml'
67
    should_route :get, "/issues/64", :controller => 'issues', :action => 'show', :id => '64'
68
    should_route :get, "/issues/64.pdf", :controller => 'issues', :action => 'show', :id => '64', :format => 'pdf'
69
    should_route :get, "/issues/64.atom", :controller => 'issues', :action => 'show', :id => '64', :format => 'atom'
70
    should_route :get, "/issues/64.xml", :controller => 'issues', :action => 'show', :id => '64', :format => 'xml'
71
72
    should_route :get, "/projects/23/issues/new", :controller => 'issues', :action => 'new', :project_id => '23'
73
    should_route :post, "/projects/23/issues", :controller => 'issues', :action => 'create', :project_id => '23'
74
    should_route :post, "/issues.xml", :controller => 'issues', :action => 'create', :format => 'xml'
75
76
    should_route :get, "/issues/64/edit", :controller => 'issues', :action => 'edit', :id => '64'
77
    # TODO: Should use PUT
78
    should_route :post, "/issues/64/edit", :controller => 'issues', :action => 'edit', :id => '64'
79
    should_route :put, "/issues/1.xml", :controller => 'issues', :action => 'update', :id => '1', :format => 'xml'
80
81
    # TODO: Should use DELETE
82
    should_route :post, "/issues/64/destroy", :controller => 'issues', :action => 'destroy', :id => '64'
83
    should_route :delete, "/issues/1.xml", :controller => 'issues', :action => 'destroy', :id => '1', :format => 'xml'
84
85
    # Extra actions
86
    should_route :get, "/projects/23/issues/64/copy", :controller => 'issues', :action => 'new', :project_id => '23', :copy_from => '64'
87
88 14:1d32c0a0efbf Chris
    should_route :get, "/issues/move/new", :controller => 'issue_moves', :action => 'new'
89
    should_route :post, "/issues/move", :controller => 'issue_moves', :action => 'create'
90 0:513646585e45 Chris
91 14:1d32c0a0efbf Chris
    should_route :post, "/issues/1/quoted", :controller => 'journals', :action => 'new', :id => '1'
92 0:513646585e45 Chris
93
    should_route :get, "/issues/calendar", :controller => 'calendars', :action => 'show'
94
    should_route :get, "/projects/project-name/issues/calendar", :controller => 'calendars', :action => 'show', :project_id => 'project-name'
95
96
    should_route :get, "/issues/gantt", :controller => 'gantts', :action => 'show'
97 441:cbce1fd3b1b7 Chris
    should_route :get, "/issues/gantt.pdf", :controller => 'gantts', :action => 'show', :format => 'pdf'
98 0:513646585e45 Chris
    should_route :get, "/projects/project-name/issues/gantt", :controller => 'gantts', :action => 'show', :project_id => 'project-name'
99 441:cbce1fd3b1b7 Chris
    should_route :get, "/projects/project-name/issues/gantt.pdf", :controller => 'gantts', :action => 'show', :project_id => 'project-name', :format => 'pdf'
100 0:513646585e45 Chris
101 14:1d32c0a0efbf Chris
    should_route :get, "/issues/auto_complete", :controller => 'auto_completes', :action => 'issues'
102
103
    should_route :get, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
104
    should_route :post, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
105
    should_route :get, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
106
    should_route :post, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
107
108
    should_route :get, "/issues/changes", :controller => 'journals', :action => 'index'
109
110
    should_route :get, "/issues/bulk_edit", :controller => 'issues', :action => 'bulk_edit'
111
    should_route :post, "/issues/bulk_edit", :controller => 'issues', :action => 'bulk_update'
112 0:513646585e45 Chris
  end
113
114
  context "issue categories" do
115
    should_route :get, "/projects/test/issue_categories/new", :controller => 'issue_categories', :action => 'new', :project_id => 'test'
116
117
    should_route :post, "/projects/test/issue_categories/new", :controller => 'issue_categories', :action => 'new', :project_id => 'test'
118
  end
119
120
  context "issue relations" do
121
    should_route :post, "/issues/1/relations", :controller => 'issue_relations', :action => 'new', :issue_id => '1'
122
    should_route :post, "/issues/1/relations/23/destroy", :controller => 'issue_relations', :action => 'destroy', :issue_id => '1', :id => '23'
123
  end
124
125
  context "issue reports" do
126
    should_route :get, "/projects/567/issues/report", :controller => 'reports', :action => 'issue_report', :id => '567'
127
    should_route :get, "/projects/567/issues/report/assigned_to", :controller => 'reports', :action => 'issue_report_details', :id => '567', :detail => 'assigned_to'
128
  end
129
130
  context "members" do
131
    should_route :post, "/projects/5234/members/new", :controller => 'members', :action => 'new', :id => '5234'
132
  end
133
134
  context "messages" do
135
    should_route :get, "/boards/22/topics/2", :controller => 'messages', :action => 'show', :id => '2', :board_id => '22'
136
    should_route :get, "/boards/lala/topics/new", :controller => 'messages', :action => 'new', :board_id => 'lala'
137
    should_route :get, "/boards/lala/topics/22/edit", :controller => 'messages', :action => 'edit', :id => '22', :board_id => 'lala'
138
139
    should_route :post, "/boards/lala/topics/new", :controller => 'messages', :action => 'new', :board_id => 'lala'
140
    should_route :post, "/boards/lala/topics/22/edit", :controller => 'messages', :action => 'edit', :id => '22', :board_id => 'lala'
141
    should_route :post, "/boards/22/topics/555/replies", :controller => 'messages', :action => 'reply', :id => '555', :board_id => '22'
142
    should_route :post, "/boards/22/topics/555/destroy", :controller => 'messages', :action => 'destroy', :id => '555', :board_id => '22'
143
  end
144
145
  context "news" do
146
    should_route :get, "/news", :controller => 'news', :action => 'index'
147
    should_route :get, "/news.atom", :controller => 'news', :action => 'index', :format => 'atom'
148
    should_route :get, "/news.xml", :controller => 'news', :action => 'index', :format => 'xml'
149
    should_route :get, "/news.json", :controller => 'news', :action => 'index', :format => 'json'
150
    should_route :get, "/projects/567/news", :controller => 'news', :action => 'index', :project_id => '567'
151
    should_route :get, "/projects/567/news.atom", :controller => 'news', :action => 'index', :format => 'atom', :project_id => '567'
152
    should_route :get, "/projects/567/news.xml", :controller => 'news', :action => 'index', :format => 'xml', :project_id => '567'
153
    should_route :get, "/projects/567/news.json", :controller => 'news', :action => 'index', :format => 'json', :project_id => '567'
154
    should_route :get, "/news/2", :controller => 'news', :action => 'show', :id => '2'
155
    should_route :get, "/projects/567/news/new", :controller => 'news', :action => 'new', :project_id => '567'
156
    should_route :get, "/news/234", :controller => 'news', :action => 'show', :id => '234'
157 22:40f7cfd4df19 chris
    should_route :get, "/news/567/edit", :controller => 'news', :action => 'edit', :id => '567'
158 37:94944d00e43c chris
    should_route :get, "/news/preview", :controller => 'previews', :action => 'news'
159
160
    should_route :post, "/projects/567/news", :controller => 'news', :action => 'create', :project_id => '567'
161
    should_route :post, "/news/567/comments", :controller => 'comments', :action => 'create', :id => '567'
162 0:513646585e45 Chris
163 37:94944d00e43c chris
    should_route :put, "/news/567", :controller => 'news', :action => 'update', :id => '567'
164 22:40f7cfd4df19 chris
165 37:94944d00e43c chris
    should_route :delete, "/news/567", :controller => 'news', :action => 'destroy', :id => '567'
166 22:40f7cfd4df19 chris
    should_route :delete, "/news/567/comments/15", :controller => 'comments', :action => 'destroy', :id => '567', :comment_id => '15'
167 0:513646585e45 Chris
  end
168
169
  context "projects" do
170
    should_route :get, "/projects", :controller => 'projects', :action => 'index'
171
    should_route :get, "/projects.atom", :controller => 'projects', :action => 'index', :format => 'atom'
172
    should_route :get, "/projects.xml", :controller => 'projects', :action => 'index', :format => 'xml'
173 22:40f7cfd4df19 chris
    should_route :get, "/projects/new", :controller => 'projects', :action => 'new'
174 0:513646585e45 Chris
    should_route :get, "/projects/test", :controller => 'projects', :action => 'show', :id => 'test'
175
    should_route :get, "/projects/1.xml", :controller => 'projects', :action => 'show', :id => '1', :format => 'xml'
176
    should_route :get, "/projects/4223/settings", :controller => 'projects', :action => 'settings', :id => '4223'
177
    should_route :get, "/projects/4223/settings/members", :controller => 'projects', :action => 'settings', :id => '4223', :tab => 'members'
178 22:40f7cfd4df19 chris
    should_route :get, "/projects/33/files", :controller => 'files', :action => 'index', :project_id => '33'
179
    should_route :get, "/projects/33/files/new", :controller => 'files', :action => 'new', :project_id => '33'
180
    should_route :get, "/projects/33/roadmap", :controller => 'versions', :action => 'index', :project_id => '33'
181
    should_route :get, "/projects/33/activity", :controller => 'activities', :action => 'index', :id => '33'
182
    should_route :get, "/projects/33/activity.atom", :controller => 'activities', :action => 'index', :id => '33', :format => 'atom'
183 0:513646585e45 Chris
184 22:40f7cfd4df19 chris
    should_route :post, "/projects", :controller => 'projects', :action => 'create'
185
    should_route :post, "/projects.xml", :controller => 'projects', :action => 'create', :format => 'xml'
186
    should_route :post, "/projects/33/files", :controller => 'files', :action => 'create', :project_id => '33'
187 0:513646585e45 Chris
    should_route :post, "/projects/64/archive", :controller => 'projects', :action => 'archive', :id => '64'
188
    should_route :post, "/projects/64/unarchive", :controller => 'projects', :action => 'unarchive', :id => '64'
189
190 22:40f7cfd4df19 chris
    should_route :put, "/projects/64/enumerations", :controller => 'project_enumerations', :action => 'update', :project_id => '64'
191
    should_route :put, "/projects/4223", :controller => 'projects', :action => 'update', :id => '4223'
192
    should_route :put, "/projects/1.xml", :controller => 'projects', :action => 'update', :id => '1', :format => 'xml'
193 0:513646585e45 Chris
194 22:40f7cfd4df19 chris
    should_route :delete, "/projects/64", :controller => 'projects', :action => 'destroy', :id => '64'
195 0:513646585e45 Chris
    should_route :delete, "/projects/1.xml", :controller => 'projects', :action => 'destroy', :id => '1', :format => 'xml'
196 22:40f7cfd4df19 chris
    should_route :delete, "/projects/64/enumerations", :controller => 'project_enumerations', :action => 'destroy', :project_id => '64'
197 0:513646585e45 Chris
  end
198 441:cbce1fd3b1b7 Chris
199
  context "queries" do
200
    should_route :get, "/queries/new", :controller => 'queries', :action => 'new'
201
    should_route :get, "/projects/redmine/queries/new", :controller => 'queries', :action => 'new', :project_id => 'redmine'
202
203
    should_route :post, "/queries/new", :controller => 'queries', :action => 'new'
204
    should_route :post, "/projects/redmine/queries/new", :controller => 'queries', :action => 'new', :project_id => 'redmine'
205
  end
206 0:513646585e45 Chris
207
  context "repositories" do
208
    should_route :get, "/projects/redmine/repository", :controller => 'repositories', :action => 'show', :id => 'redmine'
209
    should_route :get, "/projects/redmine/repository/edit", :controller => 'repositories', :action => 'edit', :id => 'redmine'
210
    should_route :get, "/projects/redmine/repository/revisions", :controller => 'repositories', :action => 'revisions', :id => 'redmine'
211
    should_route :get, "/projects/redmine/repository/revisions.atom", :controller => 'repositories', :action => 'revisions', :id => 'redmine', :format => 'atom'
212
    should_route :get, "/projects/redmine/repository/revisions/2457", :controller => 'repositories', :action => 'revision', :id => 'redmine', :rev => '2457'
213
    should_route :get, "/projects/redmine/repository/revisions/2457/diff", :controller => 'repositories', :action => 'diff', :id => 'redmine', :rev => '2457'
214
    should_route :get, "/projects/redmine/repository/revisions/2457/diff.diff", :controller => 'repositories', :action => 'diff', :id => 'redmine', :rev => '2457', :format => 'diff'
215
    should_route :get, "/projects/redmine/repository/diff/path/to/file.c", :controller => 'repositories', :action => 'diff', :id => 'redmine', :path => %w[path to file.c]
216
    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'
217
    should_route :get, "/projects/redmine/repository/browse/path/to/file.c", :controller => 'repositories', :action => 'browse', :id => 'redmine', :path => %w[path to file.c]
218
    should_route :get, "/projects/redmine/repository/entry/path/to/file.c", :controller => 'repositories', :action => 'entry', :id => 'redmine', :path => %w[path to file.c]
219
    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'
220
    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'
221
    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'
222
    should_route :get, "/projects/redmine/repository/annotate/path/to/file.c", :controller => 'repositories', :action => 'annotate', :id => 'redmine', :path => %w[path to file.c]
223
    should_route :get, "/projects/redmine/repository/changes/path/to/file.c", :controller => 'repositories', :action => 'changes', :id => 'redmine', :path => %w[path to file.c]
224
    should_route :get, "/projects/redmine/repository/statistics", :controller => 'repositories', :action => 'stats', :id => 'redmine'
225
226
227
    should_route :post, "/projects/redmine/repository/edit", :controller => 'repositories', :action => 'edit', :id => 'redmine'
228
  end
229
230 37:94944d00e43c chris
  context "timelogs (global)" do
231
    should_route :get, "/time_entries", :controller => 'timelog', :action => 'index'
232
    should_route :get, "/time_entries.csv", :controller => 'timelog', :action => 'index', :format => 'csv'
233
    should_route :get, "/time_entries.atom", :controller => 'timelog', :action => 'index', :format => 'atom'
234
    should_route :get, "/time_entries/new", :controller => 'timelog', :action => 'new'
235 0:513646585e45 Chris
    should_route :get, "/time_entries/22/edit", :controller => 'timelog', :action => 'edit', :id => '22'
236
237 37:94944d00e43c chris
    should_route :post, "/time_entries", :controller => 'timelog', :action => 'create'
238
239
    should_route :put, "/time_entries/22", :controller => 'timelog', :action => 'update', :id => '22'
240
241
    should_route :delete, "/time_entries/55", :controller => 'timelog', :action => 'destroy', :id => '55'
242
  end
243
244
  context "timelogs (scoped under project)" do
245
    should_route :get, "/projects/567/time_entries", :controller => 'timelog', :action => 'index', :project_id => '567'
246
    should_route :get, "/projects/567/time_entries.csv", :controller => 'timelog', :action => 'index', :project_id => '567', :format => 'csv'
247
    should_route :get, "/projects/567/time_entries.atom", :controller => 'timelog', :action => 'index', :project_id => '567', :format => 'atom'
248
    should_route :get, "/projects/567/time_entries/new", :controller => 'timelog', :action => 'new', :project_id => '567'
249
    should_route :get, "/projects/567/time_entries/22/edit", :controller => 'timelog', :action => 'edit', :id => '22', :project_id => '567'
250
251
    should_route :post, "/projects/567/time_entries", :controller => 'timelog', :action => 'create', :project_id => '567'
252
253
    should_route :put, "/projects/567/time_entries/22", :controller => 'timelog', :action => 'update', :id => '22', :project_id => '567'
254
255
    should_route :delete, "/projects/567/time_entries/55", :controller => 'timelog', :action => 'destroy', :id => '55', :project_id => '567'
256
  end
257
258
  context "timelogs (scoped under issues)" do
259
    should_route :get, "/issues/234/time_entries", :controller => 'timelog', :action => 'index', :issue_id => '234'
260
    should_route :get, "/issues/234/time_entries.csv", :controller => 'timelog', :action => 'index', :issue_id => '234', :format => 'csv'
261
    should_route :get, "/issues/234/time_entries.atom", :controller => 'timelog', :action => 'index', :issue_id => '234', :format => 'atom'
262
    should_route :get, "/issues/234/time_entries/new", :controller => 'timelog', :action => 'new', :issue_id => '234'
263
    should_route :get, "/issues/234/time_entries/22/edit", :controller => 'timelog', :action => 'edit', :id => '22', :issue_id => '234'
264
265
    should_route :post, "/issues/234/time_entries", :controller => 'timelog', :action => 'create', :issue_id => '234'
266
267
    should_route :put, "/issues/234/time_entries/22", :controller => 'timelog', :action => 'update', :id => '22', :issue_id => '234'
268
269
    should_route :delete, "/issues/234/time_entries/55", :controller => 'timelog', :action => 'destroy', :id => '55', :issue_id => '234'
270
  end
271
272
  context "timelogs (scoped under project and issues)" do
273
    should_route :get, "/projects/ecookbook/issues/234/time_entries", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook'
274
    should_route :get, "/projects/ecookbook/issues/234/time_entries.csv", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook', :format => 'csv'
275
    should_route :get, "/projects/ecookbook/issues/234/time_entries.atom", :controller => 'timelog', :action => 'index', :issue_id => '234', :project_id => 'ecookbook', :format => 'atom'
276
    should_route :get, "/projects/ecookbook/issues/234/time_entries/new", :controller => 'timelog', :action => 'new', :issue_id => '234', :project_id => 'ecookbook'
277
    should_route :get, "/projects/ecookbook/issues/234/time_entries/22/edit", :controller => 'timelog', :action => 'edit', :id => '22', :issue_id => '234', :project_id => 'ecookbook'
278
279
    should_route :post, "/projects/ecookbook/issues/234/time_entries", :controller => 'timelog', :action => 'create', :issue_id => '234', :project_id => 'ecookbook'
280
281
    should_route :put, "/projects/ecookbook/issues/234/time_entries/22", :controller => 'timelog', :action => 'update', :id => '22', :issue_id => '234', :project_id => 'ecookbook'
282
283
    should_route :delete, "/projects/ecookbook/issues/234/time_entries/55", :controller => 'timelog', :action => 'destroy', :id => '55', :issue_id => '234', :project_id => 'ecookbook'
284
  end
285
286
  context "time_entry_reports" do
287
    should_route :get, "/time_entries/report", :controller => 'time_entry_reports', :action => 'report'
288
    should_route :get, "/projects/567/time_entries/report", :controller => 'time_entry_reports', :action => 'report', :project_id => '567'
289
    should_route :get, "/projects/567/time_entries/report.csv", :controller => 'time_entry_reports', :action => 'report', :project_id => '567', :format => 'csv'
290 0:513646585e45 Chris
  end
291
292
  context "users" do
293
    should_route :get, "/users", :controller => 'users', :action => 'index'
294 119:8661b858af72 Chris
    should_route :get, "/users.xml", :controller => 'users', :action => 'index', :format => 'xml'
295 0:513646585e45 Chris
    should_route :get, "/users/44", :controller => 'users', :action => 'show', :id => '44'
296 119:8661b858af72 Chris
    should_route :get, "/users/44.xml", :controller => 'users', :action => 'show', :id => '44', :format => 'xml'
297
    should_route :get, "/users/current", :controller => 'users', :action => 'show', :id => 'current'
298
    should_route :get, "/users/current.xml", :controller => 'users', :action => 'show', :id => 'current', :format => 'xml'
299 37:94944d00e43c chris
    should_route :get, "/users/new", :controller => 'users', :action => 'new'
300 0:513646585e45 Chris
    should_route :get, "/users/444/edit", :controller => 'users', :action => 'edit', :id => '444'
301
    should_route :get, "/users/222/edit/membership", :controller => 'users', :action => 'edit', :id => '222', :tab => 'membership'
302
303 37:94944d00e43c chris
    should_route :post, "/users", :controller => 'users', :action => 'create'
304 119:8661b858af72 Chris
    should_route :post, "/users.xml", :controller => 'users', :action => 'create', :format => 'xml'
305 0:513646585e45 Chris
    should_route :post, "/users/123/memberships", :controller => 'users', :action => 'edit_membership', :id => '123'
306
    should_route :post, "/users/123/memberships/55", :controller => 'users', :action => 'edit_membership', :id => '123', :membership_id => '55'
307
    should_route :post, "/users/567/memberships/12/destroy", :controller => 'users', :action => 'destroy_membership', :id => '567', :membership_id => '12'
308 37:94944d00e43c chris
309
    should_route :put, "/users/444", :controller => 'users', :action => 'update', :id => '444'
310 119:8661b858af72 Chris
    should_route :put, "/users/444.xml", :controller => 'users', :action => 'update', :id => '444', :format => 'xml'
311 128:07fa8a8b56a8 Chris
312
    should_route :delete, "/users/44", :controller => 'users', :action => 'destroy', :id => '44'
313
    should_route :delete, "/users/44.xml", :controller => 'users', :action => 'destroy', :id => '44', :format => 'xml'
314 0:513646585e45 Chris
  end
315
316 22:40f7cfd4df19 chris
  # TODO: should they all be scoped under /projects/:project_id ?
317 0:513646585e45 Chris
  context "versions" do
318
    should_route :get, "/projects/foo/versions/new", :controller => 'versions', :action => 'new', :project_id => 'foo'
319 22:40f7cfd4df19 chris
    should_route :get, "/versions/show/1", :controller => 'versions', :action => 'show', :id => '1'
320
    should_route :get, "/versions/edit/1", :controller => 'versions', :action => 'edit', :id => '1'
321 0:513646585e45 Chris
322 22:40f7cfd4df19 chris
    should_route :post, "/projects/foo/versions", :controller => 'versions', :action => 'create', :project_id => 'foo'
323
    should_route :post, "/versions/update/1", :controller => 'versions', :action => 'update', :id => '1'
324
325
    should_route :delete, "/versions/destroy/1", :controller => 'versions', :action => 'destroy', :id => '1'
326 0:513646585e45 Chris
  end
327
328
  context "wiki (singular, project's pages)" do
329 37:94944d00e43c chris
    should_route :get, "/projects/567/wiki", :controller => 'wiki', :action => 'show', :project_id => '567'
330
    should_route :get, "/projects/567/wiki/lalala", :controller => 'wiki', :action => 'show', :project_id => '567', :id => 'lalala'
331
    should_route :get, "/projects/567/wiki/my_page/edit", :controller => 'wiki', :action => 'edit', :project_id => '567', :id => 'my_page'
332
    should_route :get, "/projects/1/wiki/CookBook_documentation/history", :controller => 'wiki', :action => 'history', :project_id => '1', :id => 'CookBook_documentation'
333
    should_route :get, "/projects/1/wiki/CookBook_documentation/diff", :controller => 'wiki', :action => 'diff', :project_id => '1', :id => 'CookBook_documentation'
334
    should_route :get, "/projects/1/wiki/CookBook_documentation/diff/2", :controller => 'wiki', :action => 'diff', :project_id => '1', :id => 'CookBook_documentation', :version => '2'
335
    should_route :get, "/projects/1/wiki/CookBook_documentation/diff/2/vs/1", :controller => 'wiki', :action => 'diff', :project_id => '1', :id => 'CookBook_documentation', :version => '2', :version_from => '1'
336
    should_route :get, "/projects/1/wiki/CookBook_documentation/annotate/2", :controller => 'wiki', :action => 'annotate', :project_id => '1', :id => 'CookBook_documentation', :version => '2'
337
    should_route :get, "/projects/22/wiki/ladida/rename", :controller => 'wiki', :action => 'rename', :project_id => '22', :id => 'ladida'
338
    should_route :get, "/projects/567/wiki/index", :controller => 'wiki', :action => 'index', :project_id => '567'
339
    should_route :get, "/projects/567/wiki/date_index", :controller => 'wiki', :action => 'date_index', :project_id => '567'
340
    should_route :get, "/projects/567/wiki/export", :controller => 'wiki', :action => 'export', :project_id => '567'
341 0:513646585e45 Chris
342 37:94944d00e43c chris
    should_route :post, "/projects/567/wiki/CookBook_documentation/preview", :controller => 'wiki', :action => 'preview', :project_id => '567', :id => 'CookBook_documentation'
343
    should_route :post, "/projects/22/wiki/ladida/rename", :controller => 'wiki', :action => 'rename', :project_id => '22', :id => 'ladida'
344
    should_route :post, "/projects/22/wiki/ladida/protect", :controller => 'wiki', :action => 'protect', :project_id => '22', :id => 'ladida'
345
    should_route :post, "/projects/22/wiki/ladida/add_attachment", :controller => 'wiki', :action => 'add_attachment', :project_id => '22', :id => 'ladida'
346
347
    should_route :put, "/projects/567/wiki/my_page", :controller => 'wiki', :action => 'update', :project_id => '567', :id => 'my_page'
348
349
    should_route :delete, "/projects/22/wiki/ladida", :controller => 'wiki', :action => 'destroy', :project_id => '22', :id => 'ladida'
350 0:513646585e45 Chris
  end
351
352
  context "wikis (plural, admin setup)" do
353
    should_route :get, "/projects/ladida/wiki/destroy", :controller => 'wikis', :action => 'destroy', :id => 'ladida'
354
355
    should_route :post, "/projects/ladida/wiki", :controller => 'wikis', :action => 'edit', :id => 'ladida'
356
    should_route :post, "/projects/ladida/wiki/destroy", :controller => 'wikis', :action => 'destroy', :id => 'ladida'
357
  end
358
359
  context "administration panel" do
360
    should_route :get, "/admin/projects", :controller => 'admin', :action => 'projects'
361
  end
362
end