guilded 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. data/.gitignore +3 -0
  2. data/History.txt +111 -0
  3. data/README.rdoc +219 -0
  4. data/Rakefile +56 -0
  5. data/VERSION +1 -0
  6. data/guilded.gemspec +90 -0
  7. data/lib/guilded.rb +79 -0
  8. data/lib/guilded/browser_detector.rb +217 -0
  9. data/lib/guilded/component_def.rb +24 -0
  10. data/lib/guilded/exceptions.rb +29 -0
  11. data/lib/guilded/guilder.rb +357 -0
  12. data/lib/guilded/rails.rb +4 -0
  13. data/lib/guilded/rails/active_record/human_attribute_hint.rb +41 -0
  14. data/lib/guilded/rails/active_record/human_attribute_override.rb +41 -0
  15. data/lib/guilded/rails/helpers.rb +123 -0
  16. data/lib/guilded/rails/inactive_record/human_attribute_hint.rb +26 -0
  17. data/lib/guilded/rails/view_helpers.rb +147 -0
  18. data/rails_generators/guilded_assets/guilded_assets_generator.rb +23 -0
  19. data/rails_generators/guilded_assets/templates/guilded.js +12 -0
  20. data/rails_generators/guilded_assets/templates/guilded.min.js +1 -0
  21. data/rails_generators/guilded_assets/templates/jquery-1.2.6.js +3549 -0
  22. data/rails_generators/guilded_assets/templates/jquery-1.2.6.min.js +32 -0
  23. data/rails_generators/guilded_assets/templates/jquery-1.3.2.js +4376 -0
  24. data/rails_generators/guilded_assets/templates/jquery-1.3.2.min.js +19 -0
  25. data/rails_generators/guilded_assets/templates/jquery-url.js +199 -0
  26. data/rails_generators/guilded_assets/templates/jquery-url.min.js +9 -0
  27. data/rails_generators/guilded_assets/templates/mootools-1.2.3.js +4036 -0
  28. data/rails_generators/guilded_assets/templates/mootools-1.2.3.min.js +356 -0
  29. data/rails_generators/guilded_assets/templates/reset-min.css +7 -0
  30. data/rails_generators/guilded_config/guilded_config_generator.rb +11 -0
  31. data/rails_generators/guilded_config/templates/load_guilded_settings.rb +13 -0
  32. data/script/console +10 -0
  33. data/script/destroy +14 -0
  34. data/script/generate +14 -0
  35. data/tasks/rails.rake +8 -0
  36. data/tasks/rspec.rake +21 -0
  37. data/test/guilded/browser_detector_test.rb +1248 -0
  38. data/test/guilded/component_def_test.rb +26 -0
  39. data/test/guilded/guilder_test.rb +79 -0
  40. data/test/guilded/rails/helpers_test.rb +1450 -0
  41. data/test/guilded/rails/view_helpers_test.rb +97 -0
  42. data/test/guilded_test.rb +7 -0
  43. data/test/test_helper.rb +47 -0
  44. metadata +112 -0
@@ -0,0 +1,26 @@
1
+ require 'test_helper'
2
+
3
+ class ComponentDefTest < Test::Unit::TestCase
4
+ context "The ComponentDef" do
5
+ setup do
6
+ @cd = Guilded::ComponentDef.new( 'grid' )
7
+ @cd_exclude = Guilded::ComponentDef.new( 'grid', { :exclude_css => true, :exclude_js => true } )
8
+ end
9
+
10
+ should "exclude css if specified" do
11
+ assert @cd_exclude.exclude_css?
12
+ end
13
+
14
+ should "exclude js if specified" do
15
+ assert @cd_exclude.exclude_js?
16
+ end
17
+
18
+ should "not exclude css unless specified" do
19
+ assert !@cd.exclude_css?
20
+ end
21
+
22
+ should "not exclude js unless specified" do
23
+ assert !@cd.exclude_js?
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,79 @@
1
+ require 'test_helper'
2
+
3
+ class GuilderTest < Test::Unit::TestCase
4
+ context "The Guilder" do
5
+ setup do
6
+ @g = Guilded::Guilder.instance
7
+ end
8
+
9
+ should "return an instance" do
10
+ assert_not_nil @g
11
+ end
12
+
13
+ should "be a singleton" do
14
+ assert_equal @g.initialized_at, Guilded::Guilder.instance.initialized_at
15
+ end
16
+
17
+ should "have 1 css source after init" do
18
+ assert_equal @g.combined_css_srcs.size, 1
19
+ end
20
+
21
+ should "have 3 js sources after init" do
22
+ assert_equal @g.combined_js_srcs.size, 3
23
+ end
24
+
25
+ should "increase count by one when you add a component" do
26
+ count = @g.count
27
+ @g.add( 'grid', { :id => 'grid' } )
28
+ assert_equal @g.count, count + 1
29
+ end
30
+
31
+ should "respond to add" do
32
+ assert @g.respond_to? :add
33
+ end
34
+
35
+ should "respond to count" do
36
+ assert @g.respond_to? :count
37
+ end
38
+
39
+ should "respond to reset!" do
40
+ assert @g.respond_to? :reset!
41
+ end
42
+
43
+ should "respond to apply" do
44
+ assert @g.respond_to? :apply
45
+ end
46
+
47
+ should "respond to generate_javascript_init" do
48
+ assert @g.respond_to? :generate_javascript_init
49
+ end
50
+
51
+ should "respond_to js_cache_name" do
52
+ assert @g.respond_to? :js_cache_name
53
+ end
54
+
55
+ should "respond_to css_cache_name" do
56
+ assert @g.respond_to? :css_cache_name
57
+ end
58
+
59
+ should "respond_to generate_js_cache_name" do
60
+ assert @g.respond_to? :generate_js_cache_name
61
+ end
62
+
63
+ should "respond_to generate_css_cache_name" do
64
+ assert @g.respond_to? :generate_css_cache_name
65
+ end
66
+
67
+ should "respond_to combined_css_srcs" do
68
+ assert @g.respond_to? :combined_css_srcs
69
+ end
70
+
71
+ should "respond_to combined_js_srcs" do
72
+ assert @g.respond_to? :combined_js_srcs
73
+ end
74
+
75
+ should "respond_to initialized_at" do
76
+ assert @g.respond_to? :initialized_at
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,1450 @@
1
+ require 'test_helper'
2
+
3
+ class HelpersTest < Test::Unit::TestCase
4
+ context "The helpers" do
5
+ setup do
6
+ @thing = Thing.new
7
+ @things = [Thing.new, Thing.new]
8
+ @parent = Parent.new
9
+ @owner = Owner.new
10
+ @lookup = Lookup.new
11
+ @lookups = [Lookup.new, Lookup.new]
12
+ end
13
+
14
+ should "have class method resolve_field_methods_and_titles" do
15
+ assert Guilded::Rails::Helpers.respond_to? :resolve_field_methods_and_titles
16
+ end
17
+
18
+ should "have class method resolve_rest_path_helpers" do
19
+ assert Guilded::Rails::Helpers.respond_to? :resolve_rest_path_helpers
20
+ end
21
+
22
+ context "single level REST paths given ActiveRecord object" do
23
+ setup do
24
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing )
25
+ end
26
+
27
+ should "resolve index path" do
28
+ assert_equal 'things_path', @path_helpers[:index_rest_helper]
29
+ end
30
+
31
+ should "resolve index args" do
32
+ assert_equal [], @path_helpers[:index_rest_args]
33
+ end
34
+
35
+ should "resolve show path" do
36
+ assert_equal 'thing_path', @path_helpers[:show_rest_helper]
37
+ end
38
+
39
+ should "resolve show args" do
40
+ assert_equal [], @path_helpers[:show_rest_args]
41
+ end
42
+
43
+ should "resolve new path" do
44
+ assert_equal 'new_thing_path', @path_helpers[:new_rest_helper]
45
+ end
46
+
47
+ should "resolve new args" do
48
+ assert_equal [], @path_helpers[:new_rest_args]
49
+ end
50
+
51
+ should "resolve edit path" do
52
+ assert_equal 'edit_thing_path', @path_helpers[:edit_rest_helper]
53
+ end
54
+
55
+ should "resolve edit args" do
56
+ assert_equal [], @path_helpers[:edit_rest_args]
57
+ end
58
+
59
+ should "resolve delete path" do
60
+ assert_equal 'delete_thing_path', @path_helpers[:delete_rest_helper]
61
+ end
62
+
63
+ should "resolve delete args" do
64
+ assert_equal [], @path_helpers[:delete_rest_args]
65
+ end
66
+ end
67
+
68
+ context "single level REST paths given ActiveRecord collection" do
69
+ setup do
70
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things )
71
+ end
72
+
73
+ should "resolve index path" do
74
+ assert_equal 'things_path', @path_helpers[:index_rest_helper]
75
+ end
76
+
77
+ should "resolve index args" do
78
+ assert_equal [], @path_helpers[:index_rest_args]
79
+ end
80
+
81
+ should "resolve show path" do
82
+ assert_equal 'thing_path', @path_helpers[:show_rest_helper]
83
+ end
84
+
85
+ should "resolve show args" do
86
+ assert_equal [], @path_helpers[:show_rest_args]
87
+ end
88
+
89
+ should "resolve new path" do
90
+ assert_equal 'new_thing_path', @path_helpers[:new_rest_helper]
91
+ end
92
+
93
+ should "resolve new args" do
94
+ assert_equal [], @path_helpers[:new_rest_args]
95
+ end
96
+
97
+ should "resolve edit path" do
98
+ assert_equal 'edit_thing_path', @path_helpers[:edit_rest_helper]
99
+ end
100
+
101
+ should "resolve edit args" do
102
+ assert_equal [], @path_helpers[:edit_rest_args]
103
+ end
104
+
105
+ should "resolve delete path" do
106
+ assert_equal 'delete_thing_path', @path_helpers[:delete_rest_helper]
107
+ end
108
+
109
+ should "resolve delete args" do
110
+ assert_equal [], @path_helpers[:delete_rest_args]
111
+ end
112
+ end
113
+
114
+ context "nested REST paths given ActiveRecord object and scoped by single object" do
115
+ setup do
116
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => @parent )
117
+ end
118
+
119
+ should "resolve index path" do
120
+ assert_equal 'parent_things_path', @path_helpers[:index_rest_helper]
121
+ end
122
+
123
+ should "resolve index args" do
124
+ assert_equal [@parent], @path_helpers[:index_rest_args]
125
+ end
126
+
127
+ should "resolve show path" do
128
+ assert_equal 'parent_thing_path', @path_helpers[:show_rest_helper]
129
+ end
130
+
131
+ should "resolve show args" do
132
+ assert_equal [@parent], @path_helpers[:show_rest_args]
133
+ end
134
+
135
+ should "resolve new path" do
136
+ assert_equal 'new_parent_thing_path', @path_helpers[:new_rest_helper]
137
+ end
138
+
139
+ should "resolve new args" do
140
+ assert_equal [@parent], @path_helpers[:new_rest_args]
141
+ end
142
+
143
+ should "resolve edit path" do
144
+ assert_equal 'edit_parent_thing_path', @path_helpers[:edit_rest_helper]
145
+ end
146
+
147
+ should "resolve edit args" do
148
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
149
+ end
150
+
151
+ should "resolve delete path" do
152
+ assert_equal 'delete_parent_thing_path', @path_helpers[:delete_rest_helper]
153
+ end
154
+
155
+ should "resolve delete args" do
156
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
157
+ end
158
+ end
159
+
160
+ context "nested REST paths given ActiveRecord object and scoped by single object array" do
161
+ setup do
162
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => [@parent] )
163
+ end
164
+
165
+ should "resolve index path" do
166
+ assert_equal 'parent_things_path', @path_helpers[:index_rest_helper]
167
+ end
168
+
169
+ should "resolve index args" do
170
+ assert_equal [@parent], @path_helpers[:index_rest_args]
171
+ end
172
+
173
+ should "resolve show path" do
174
+ assert_equal 'parent_thing_path', @path_helpers[:show_rest_helper]
175
+ end
176
+
177
+ should "resolve show args" do
178
+ assert_equal [@parent], @path_helpers[:show_rest_args]
179
+ end
180
+
181
+ should "resolve new path" do
182
+ assert_equal 'new_parent_thing_path', @path_helpers[:new_rest_helper]
183
+ end
184
+
185
+ should "resolve new args" do
186
+ assert_equal [@parent], @path_helpers[:new_rest_args]
187
+ end
188
+
189
+ should "resolve edit path" do
190
+ assert_equal 'edit_parent_thing_path', @path_helpers[:edit_rest_helper]
191
+ end
192
+
193
+ should "resolve edit args" do
194
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
195
+ end
196
+
197
+ should "resolve delete path" do
198
+ assert_equal 'delete_parent_thing_path', @path_helpers[:delete_rest_helper]
199
+ end
200
+
201
+ should "resolve delete args" do
202
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
203
+ end
204
+ end
205
+
206
+ context "nested REST paths given ActiveRecord collection and scoped by single object array" do
207
+ setup do
208
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => [@parent] )
209
+ end
210
+
211
+ should "resolve index path" do
212
+ assert_equal 'parent_things_path', @path_helpers[:index_rest_helper]
213
+ end
214
+
215
+ should "resolve index args" do
216
+ assert_equal [@parent], @path_helpers[:index_rest_args]
217
+ end
218
+
219
+ should "resolve show path" do
220
+ assert_equal 'parent_thing_path', @path_helpers[:show_rest_helper]
221
+ end
222
+
223
+ should "resolve show args" do
224
+ assert_equal [@parent], @path_helpers[:show_rest_args]
225
+ end
226
+
227
+ should "resolve new path" do
228
+ assert_equal 'new_parent_thing_path', @path_helpers[:new_rest_helper]
229
+ end
230
+
231
+ should "resolve new args" do
232
+ assert_equal [@parent], @path_helpers[:new_rest_args]
233
+ end
234
+
235
+ should "resolve edit path" do
236
+ assert_equal 'edit_parent_thing_path', @path_helpers[:edit_rest_helper]
237
+ end
238
+
239
+ should "resolve edit args" do
240
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
241
+ end
242
+
243
+ should "resolve delete path" do
244
+ assert_equal 'delete_parent_thing_path', @path_helpers[:delete_rest_helper]
245
+ end
246
+
247
+ should "resolve delete args" do
248
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
249
+ end
250
+ end
251
+
252
+ context "nested REST paths given ActiveRecord object and scoped by multiple object array" do
253
+ setup do
254
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => [@owner, @parent] )
255
+ end
256
+
257
+ should "resolve index path" do
258
+ assert_equal 'owner_parent_things_path', @path_helpers[:index_rest_helper]
259
+ end
260
+
261
+ should "resolve index args" do
262
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
263
+ end
264
+
265
+ should "resolve show path" do
266
+ assert_equal 'owner_parent_thing_path', @path_helpers[:show_rest_helper]
267
+ end
268
+
269
+ should "resolve show args" do
270
+ assert_equal [@owner, @parent], @path_helpers[:show_rest_args]
271
+ end
272
+
273
+ should "resolve new path" do
274
+ assert_equal 'new_owner_parent_thing_path', @path_helpers[:new_rest_helper]
275
+ end
276
+
277
+ should "resolve new args" do
278
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
279
+ end
280
+
281
+ should "resolve edit path" do
282
+ assert_equal 'edit_owner_parent_thing_path', @path_helpers[:edit_rest_helper]
283
+ end
284
+
285
+ should "resolve edit args" do
286
+ assert_equal [@owner, @parent], @path_helpers[:edit_rest_args]
287
+ end
288
+
289
+ should "resolve delete path" do
290
+ assert_equal 'delete_owner_parent_thing_path', @path_helpers[:delete_rest_helper]
291
+ end
292
+
293
+ should "resolve delete args" do
294
+ assert_equal [@owner, @parent], @path_helpers[:delete_rest_args]
295
+ end
296
+ end
297
+
298
+ context "nested REST paths given ActiveRecord collection and scoped by multiple object array" do
299
+ setup do
300
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => [@owner, @parent] )
301
+ end
302
+
303
+ should "resolve index path" do
304
+ assert_equal 'owner_parent_things_path', @path_helpers[:index_rest_helper]
305
+ end
306
+
307
+ should "resolve index args" do
308
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
309
+ end
310
+
311
+ should "resolve show path" do
312
+ assert_equal 'owner_parent_thing_path', @path_helpers[:show_rest_helper]
313
+ end
314
+
315
+ should "resolve show args" do
316
+ assert_equal [@owner, @parent], @path_helpers[:show_rest_args]
317
+ end
318
+
319
+ should "resolve new path" do
320
+ assert_equal 'new_owner_parent_thing_path', @path_helpers[:new_rest_helper]
321
+ end
322
+
323
+ should "resolve new args" do
324
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
325
+ end
326
+
327
+ should "resolve edit path" do
328
+ assert_equal 'edit_owner_parent_thing_path', @path_helpers[:edit_rest_helper]
329
+ end
330
+
331
+ should "resolve edit args" do
332
+ assert_equal [@owner, @parent], @path_helpers[:edit_rest_args]
333
+ end
334
+
335
+ should "resolve delete path" do
336
+ assert_equal 'delete_owner_parent_thing_path', @path_helpers[:delete_rest_helper]
337
+ end
338
+
339
+ should "resolve delete args" do
340
+ assert_equal [@owner, @parent], @path_helpers[:delete_rest_args]
341
+ end
342
+ end
343
+
344
+ context "single level REST paths given ActiveRecord object and namespace symbol" do
345
+ setup do
346
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :namespace => :admin )
347
+ end
348
+
349
+ should "resolve index path" do
350
+ assert_equal 'admin_things_path', @path_helpers[:index_rest_helper]
351
+ end
352
+
353
+ should "resolve index args" do
354
+ assert_equal [], @path_helpers[:index_rest_args]
355
+ end
356
+
357
+ should "resolve show path" do
358
+ assert_equal 'admin_thing_path', @path_helpers[:show_rest_helper]
359
+ end
360
+
361
+ should "resolve show args" do
362
+ assert_equal [], @path_helpers[:show_rest_args]
363
+ end
364
+
365
+ should "resolve new path" do
366
+ assert_equal 'new_admin_thing_path', @path_helpers[:new_rest_helper]
367
+ end
368
+
369
+ should "resolve new args" do
370
+ assert_equal [], @path_helpers[:new_rest_args]
371
+ end
372
+
373
+ should "resolve edit path" do
374
+ assert_equal 'edit_admin_thing_path', @path_helpers[:edit_rest_helper]
375
+ end
376
+
377
+ should "resolve edit args" do
378
+ assert_equal [], @path_helpers[:edit_rest_args]
379
+ end
380
+
381
+ should "resolve delete path" do
382
+ assert_equal 'delete_admin_thing_path', @path_helpers[:delete_rest_helper]
383
+ end
384
+
385
+ should "resolve delete args" do
386
+ assert_equal [], @path_helpers[:delete_rest_args]
387
+ end
388
+ end
389
+
390
+ context "single level REST paths given ActiveRecord object and namespace string" do
391
+ setup do
392
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :namespace => 'admin' )
393
+ end
394
+
395
+ should "resolve index path" do
396
+ assert_equal 'admin_things_path', @path_helpers[:index_rest_helper]
397
+ end
398
+
399
+ should "resolve index args" do
400
+ assert_equal [], @path_helpers[:index_rest_args]
401
+ end
402
+
403
+ should "resolve show path" do
404
+ assert_equal 'admin_thing_path', @path_helpers[:show_rest_helper]
405
+ end
406
+
407
+ should "resolve show args" do
408
+ assert_equal [], @path_helpers[:show_rest_args]
409
+ end
410
+
411
+ should "resolve new path" do
412
+ assert_equal 'new_admin_thing_path', @path_helpers[:new_rest_helper]
413
+ end
414
+
415
+ should "resolve new args" do
416
+ assert_equal [], @path_helpers[:new_rest_args]
417
+ end
418
+
419
+ should "resolve edit path" do
420
+ assert_equal 'edit_admin_thing_path', @path_helpers[:edit_rest_helper]
421
+ end
422
+
423
+ should "resolve edit args" do
424
+ assert_equal [], @path_helpers[:edit_rest_args]
425
+ end
426
+
427
+ should "resolve delete path" do
428
+ assert_equal 'delete_admin_thing_path', @path_helpers[:delete_rest_helper]
429
+ end
430
+
431
+ should "resolve delete args" do
432
+ assert_equal [], @path_helpers[:delete_rest_args]
433
+ end
434
+ end
435
+
436
+ context "single level REST paths given ActiveRecord collection and namespace symbol" do
437
+ setup do
438
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :namespace => :admin )
439
+ end
440
+
441
+ should "resolve index path" do
442
+ assert_equal 'admin_things_path', @path_helpers[:index_rest_helper]
443
+ end
444
+
445
+ should "resolve index args" do
446
+ assert_equal [], @path_helpers[:index_rest_args]
447
+ end
448
+
449
+ should "resolve show path" do
450
+ assert_equal 'admin_thing_path', @path_helpers[:show_rest_helper]
451
+ end
452
+
453
+ should "resolve show args" do
454
+ assert_equal [], @path_helpers[:show_rest_args]
455
+ end
456
+
457
+ should "resolve new path" do
458
+ assert_equal 'new_admin_thing_path', @path_helpers[:new_rest_helper]
459
+ end
460
+
461
+ should "resolve new args" do
462
+ assert_equal [], @path_helpers[:new_rest_args]
463
+ end
464
+
465
+ should "resolve edit path" do
466
+ assert_equal 'edit_admin_thing_path', @path_helpers[:edit_rest_helper]
467
+ end
468
+
469
+ should "resolve edit args" do
470
+ assert_equal [], @path_helpers[:edit_rest_args]
471
+ end
472
+
473
+ should "resolve delete path" do
474
+ assert_equal 'delete_admin_thing_path', @path_helpers[:delete_rest_helper]
475
+ end
476
+
477
+ should "resolve delete args" do
478
+ assert_equal [], @path_helpers[:delete_rest_args]
479
+ end
480
+ end
481
+
482
+ context "single level REST paths given ActiveRecord collection and namespace string" do
483
+ setup do
484
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :namespace => 'admin' )
485
+ end
486
+
487
+ should "resolve index path" do
488
+ assert_equal 'admin_things_path', @path_helpers[:index_rest_helper]
489
+ end
490
+
491
+ should "resolve index args" do
492
+ assert_equal [], @path_helpers[:index_rest_args]
493
+ end
494
+
495
+ should "resolve show path" do
496
+ assert_equal 'admin_thing_path', @path_helpers[:show_rest_helper]
497
+ end
498
+
499
+ should "resolve show args" do
500
+ assert_equal [], @path_helpers[:show_rest_args]
501
+ end
502
+
503
+ should "resolve new path" do
504
+ assert_equal 'new_admin_thing_path', @path_helpers[:new_rest_helper]
505
+ end
506
+
507
+ should "resolve new args" do
508
+ assert_equal [], @path_helpers[:new_rest_args]
509
+ end
510
+
511
+ should "resolve edit path" do
512
+ assert_equal 'edit_admin_thing_path', @path_helpers[:edit_rest_helper]
513
+ end
514
+
515
+ should "resolve edit args" do
516
+ assert_equal [], @path_helpers[:edit_rest_args]
517
+ end
518
+
519
+ should "resolve delete path" do
520
+ assert_equal 'delete_admin_thing_path', @path_helpers[:delete_rest_helper]
521
+ end
522
+
523
+ should "resolve delete args" do
524
+ assert_equal [], @path_helpers[:delete_rest_args]
525
+ end
526
+ end
527
+
528
+ context "nested REST paths given ActiveRecord object and scoped by single object and namespace symbol" do
529
+ setup do
530
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => @parent, :namespace => :admin )
531
+ end
532
+
533
+ should "resolve index path" do
534
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
535
+ end
536
+
537
+ should "resolve index args" do
538
+ assert_equal [@parent], @path_helpers[:index_rest_args]
539
+ end
540
+
541
+ should "resolve show path" do
542
+ assert_equal 'admin_parent_thing_path', @path_helpers[:show_rest_helper]
543
+ end
544
+
545
+ should "resolve show args" do
546
+ assert_equal [@parent], @path_helpers[:show_rest_args]
547
+ end
548
+
549
+ should "resolve new path" do
550
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
551
+ end
552
+
553
+ should "resolve new args" do
554
+ assert_equal [@parent], @path_helpers[:new_rest_args]
555
+ end
556
+
557
+ should "resolve edit path" do
558
+ assert_equal 'edit_admin_parent_thing_path', @path_helpers[:edit_rest_helper]
559
+ end
560
+
561
+ should "resolve edit args" do
562
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
563
+ end
564
+
565
+ should "resolve delete path" do
566
+ assert_equal 'delete_admin_parent_thing_path', @path_helpers[:delete_rest_helper]
567
+ end
568
+
569
+ should "resolve delete args" do
570
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
571
+ end
572
+ end
573
+
574
+ context "nested REST paths given ActiveRecord object and scoped by single object and namespace string" do
575
+ setup do
576
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => @parent, :namespace => 'admin' )
577
+ end
578
+
579
+ should "resolve index path" do
580
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
581
+ end
582
+
583
+ should "resolve index args" do
584
+ assert_equal [@parent], @path_helpers[:index_rest_args]
585
+ end
586
+
587
+ should "resolve show path" do
588
+ assert_equal 'admin_parent_thing_path', @path_helpers[:show_rest_helper]
589
+ end
590
+
591
+ should "resolve show args" do
592
+ assert_equal [@parent], @path_helpers[:show_rest_args]
593
+ end
594
+
595
+ should "resolve new path" do
596
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
597
+ end
598
+
599
+ should "resolve new args" do
600
+ assert_equal [@parent], @path_helpers[:new_rest_args]
601
+ end
602
+
603
+ should "resolve edit path" do
604
+ assert_equal 'edit_admin_parent_thing_path', @path_helpers[:edit_rest_helper]
605
+ end
606
+
607
+ should "resolve edit args" do
608
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
609
+ end
610
+
611
+ should "resolve delete path" do
612
+ assert_equal 'delete_admin_parent_thing_path', @path_helpers[:delete_rest_helper]
613
+ end
614
+
615
+ should "resolve delete args" do
616
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
617
+ end
618
+ end
619
+
620
+ context "nested REST paths given ActiveRecord collection and scoped by single object and namespace symbol" do
621
+ setup do
622
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => @parent, :namespace => :admin )
623
+ end
624
+
625
+ should "resolve index path" do
626
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
627
+ end
628
+
629
+ should "resolve index args" do
630
+ assert_equal [@parent], @path_helpers[:index_rest_args]
631
+ end
632
+
633
+ should "resolve show path" do
634
+ assert_equal 'admin_parent_thing_path', @path_helpers[:show_rest_helper]
635
+ end
636
+
637
+ should "resolve show args" do
638
+ assert_equal [@parent], @path_helpers[:show_rest_args]
639
+ end
640
+
641
+ should "resolve new path" do
642
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
643
+ end
644
+
645
+ should "resolve new args" do
646
+ assert_equal [@parent], @path_helpers[:new_rest_args]
647
+ end
648
+
649
+ should "resolve edit path" do
650
+ assert_equal 'edit_admin_parent_thing_path', @path_helpers[:edit_rest_helper]
651
+ end
652
+
653
+ should "resolve edit args" do
654
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
655
+ end
656
+
657
+ should "resolve delete path" do
658
+ assert_equal 'delete_admin_parent_thing_path', @path_helpers[:delete_rest_helper]
659
+ end
660
+
661
+ should "resolve delete args" do
662
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
663
+ end
664
+ end
665
+
666
+ context "nested REST paths given ActiveRecord collection and scoped by single object and namespace string" do
667
+ setup do
668
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => @parent, :namespace => 'admin' )
669
+ end
670
+
671
+ should "resolve index path" do
672
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
673
+ end
674
+
675
+ should "resolve index args" do
676
+ assert_equal [@parent], @path_helpers[:index_rest_args]
677
+ end
678
+
679
+ should "resolve show path" do
680
+ assert_equal 'admin_parent_thing_path', @path_helpers[:show_rest_helper]
681
+ end
682
+
683
+ should "resolve show args" do
684
+ assert_equal [@parent], @path_helpers[:show_rest_args]
685
+ end
686
+
687
+ should "resolve new path" do
688
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
689
+ end
690
+
691
+ should "resolve new args" do
692
+ assert_equal [@parent], @path_helpers[:new_rest_args]
693
+ end
694
+
695
+ should "resolve edit path" do
696
+ assert_equal 'edit_admin_parent_thing_path', @path_helpers[:edit_rest_helper]
697
+ end
698
+
699
+ should "resolve edit args" do
700
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
701
+ end
702
+
703
+ should "resolve delete path" do
704
+ assert_equal 'delete_admin_parent_thing_path', @path_helpers[:delete_rest_helper]
705
+ end
706
+
707
+ should "resolve delete args" do
708
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
709
+ end
710
+ end
711
+
712
+ context "nested REST paths given ActiveRecord object and scoped by single object array and namespace symbol" do
713
+ setup do
714
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => [@parent], :namespace => :admin )
715
+ end
716
+
717
+ should "resolve index path" do
718
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
719
+ end
720
+
721
+ should "resolve index args" do
722
+ assert_equal [@parent], @path_helpers[:index_rest_args]
723
+ end
724
+
725
+ should "resolve show path" do
726
+ assert_equal 'admin_parent_thing_path', @path_helpers[:show_rest_helper]
727
+ end
728
+
729
+ should "resolve show args" do
730
+ assert_equal [@parent], @path_helpers[:show_rest_args]
731
+ end
732
+
733
+ should "resolve new path" do
734
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
735
+ end
736
+
737
+ should "resolve new args" do
738
+ assert_equal [@parent], @path_helpers[:new_rest_args]
739
+ end
740
+
741
+ should "resolve edit path" do
742
+ assert_equal 'edit_admin_parent_thing_path', @path_helpers[:edit_rest_helper]
743
+ end
744
+
745
+ should "resolve edit args" do
746
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
747
+ end
748
+
749
+ should "resolve delete path" do
750
+ assert_equal 'delete_admin_parent_thing_path', @path_helpers[:delete_rest_helper]
751
+ end
752
+
753
+ should "resolve delete args" do
754
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
755
+ end
756
+ end
757
+
758
+ context "nested REST paths given ActiveRecord object and scoped by single object array and namespace string" do
759
+ setup do
760
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => [@parent], :namespace => 'admin' )
761
+ end
762
+
763
+ should "resolve index path" do
764
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
765
+ end
766
+
767
+ should "resolve index args" do
768
+ assert_equal [@parent], @path_helpers[:index_rest_args]
769
+ end
770
+
771
+ should "resolve show path" do
772
+ assert_equal 'admin_parent_thing_path', @path_helpers[:show_rest_helper]
773
+ end
774
+
775
+ should "resolve show args" do
776
+ assert_equal [@parent], @path_helpers[:show_rest_args]
777
+ end
778
+
779
+ should "resolve new path" do
780
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
781
+ end
782
+
783
+ should "resolve new args" do
784
+ assert_equal [@parent], @path_helpers[:new_rest_args]
785
+ end
786
+
787
+ should "resolve edit path" do
788
+ assert_equal 'edit_admin_parent_thing_path', @path_helpers[:edit_rest_helper]
789
+ end
790
+
791
+ should "resolve edit args" do
792
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
793
+ end
794
+
795
+ should "resolve delete path" do
796
+ assert_equal 'delete_admin_parent_thing_path', @path_helpers[:delete_rest_helper]
797
+ end
798
+
799
+ should "resolve delete args" do
800
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
801
+ end
802
+ end
803
+
804
+ context "nested REST paths given ActiveRecord collection and scoped by single object array and namespace symbol" do
805
+ setup do
806
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => [@parent], :namespace => :admin )
807
+ end
808
+
809
+ should "resolve index path" do
810
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
811
+ end
812
+
813
+ should "resolve index args" do
814
+ assert_equal [@parent], @path_helpers[:index_rest_args]
815
+ end
816
+
817
+ should "resolve show path" do
818
+ assert_equal 'admin_parent_thing_path', @path_helpers[:show_rest_helper]
819
+ end
820
+
821
+ should "resolve show args" do
822
+ assert_equal [@parent], @path_helpers[:show_rest_args]
823
+ end
824
+
825
+ should "resolve new path" do
826
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
827
+ end
828
+
829
+ should "resolve new args" do
830
+ assert_equal [@parent], @path_helpers[:new_rest_args]
831
+ end
832
+
833
+ should "resolve edit path" do
834
+ assert_equal 'edit_admin_parent_thing_path', @path_helpers[:edit_rest_helper]
835
+ end
836
+
837
+ should "resolve edit args" do
838
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
839
+ end
840
+
841
+ should "resolve delete path" do
842
+ assert_equal 'delete_admin_parent_thing_path', @path_helpers[:delete_rest_helper]
843
+ end
844
+
845
+ should "resolve delete args" do
846
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
847
+ end
848
+ end
849
+
850
+ context "nested REST paths given ActiveRecord collection and scoped by single object array and namespace string" do
851
+ setup do
852
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => [@parent], :namespace => 'admin' )
853
+ end
854
+
855
+ should "resolve index path" do
856
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
857
+ end
858
+
859
+ should "resolve index args" do
860
+ assert_equal [@parent], @path_helpers[:index_rest_args]
861
+ end
862
+
863
+ should "resolve show path" do
864
+ assert_equal 'admin_parent_thing_path', @path_helpers[:show_rest_helper]
865
+ end
866
+
867
+ should "resolve show args" do
868
+ assert_equal [@parent], @path_helpers[:show_rest_args]
869
+ end
870
+
871
+ should "resolve new path" do
872
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
873
+ end
874
+
875
+ should "resolve new args" do
876
+ assert_equal [@parent], @path_helpers[:new_rest_args]
877
+ end
878
+
879
+ should "resolve edit path" do
880
+ assert_equal 'edit_admin_parent_thing_path', @path_helpers[:edit_rest_helper]
881
+ end
882
+
883
+ should "resolve edit args" do
884
+ assert_equal [@parent], @path_helpers[:edit_rest_args]
885
+ end
886
+
887
+ should "resolve delete path" do
888
+ assert_equal 'delete_admin_parent_thing_path', @path_helpers[:delete_rest_helper]
889
+ end
890
+
891
+ should "resolve delete args" do
892
+ assert_equal [@parent], @path_helpers[:delete_rest_args]
893
+ end
894
+ end
895
+
896
+ context "nested REST paths given ActiveRecord object and scoped by multiple object array and namespace symbol" do
897
+ setup do
898
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => [@owner, @parent], :namespace => :admin )
899
+ end
900
+
901
+ should "resolve index path" do
902
+ assert_equal 'admin_owner_parent_things_path', @path_helpers[:index_rest_helper]
903
+ end
904
+
905
+ should "resolve index args" do
906
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
907
+ end
908
+
909
+ should "resolve show path" do
910
+ assert_equal 'admin_owner_parent_thing_path', @path_helpers[:show_rest_helper]
911
+ end
912
+
913
+ should "resolve show args" do
914
+ assert_equal [@owner, @parent], @path_helpers[:show_rest_args]
915
+ end
916
+
917
+ should "resolve new path" do
918
+ assert_equal 'new_admin_owner_parent_thing_path', @path_helpers[:new_rest_helper]
919
+ end
920
+
921
+ should "resolve new args" do
922
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
923
+ end
924
+
925
+ should "resolve edit path" do
926
+ assert_equal 'edit_admin_owner_parent_thing_path', @path_helpers[:edit_rest_helper]
927
+ end
928
+
929
+ should "resolve edit args" do
930
+ assert_equal [@owner, @parent], @path_helpers[:edit_rest_args]
931
+ end
932
+
933
+ should "resolve delete path" do
934
+ assert_equal 'delete_admin_owner_parent_thing_path', @path_helpers[:delete_rest_helper]
935
+ end
936
+
937
+ should "resolve delete args" do
938
+ assert_equal [@owner, @parent], @path_helpers[:delete_rest_args]
939
+ end
940
+ end
941
+
942
+ context "nested REST paths given ActiveRecord object and scoped by multiple object array and namespace string" do
943
+ setup do
944
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => [@owner, @parent], :namespace => 'admin' )
945
+ end
946
+
947
+ should "resolve index path" do
948
+ assert_equal 'admin_owner_parent_things_path', @path_helpers[:index_rest_helper]
949
+ end
950
+
951
+ should "resolve index args" do
952
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
953
+ end
954
+
955
+ should "resolve show path" do
956
+ assert_equal 'admin_owner_parent_thing_path', @path_helpers[:show_rest_helper]
957
+ end
958
+
959
+ should "resolve show args" do
960
+ assert_equal [@owner, @parent], @path_helpers[:show_rest_args]
961
+ end
962
+
963
+ should "resolve new path" do
964
+ assert_equal 'new_admin_owner_parent_thing_path', @path_helpers[:new_rest_helper]
965
+ end
966
+
967
+ should "resolve new args" do
968
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
969
+ end
970
+
971
+ should "resolve edit path" do
972
+ assert_equal 'edit_admin_owner_parent_thing_path', @path_helpers[:edit_rest_helper]
973
+ end
974
+
975
+ should "resolve edit args" do
976
+ assert_equal [@owner, @parent], @path_helpers[:edit_rest_args]
977
+ end
978
+
979
+ should "resolve delete path" do
980
+ assert_equal 'delete_admin_owner_parent_thing_path', @path_helpers[:delete_rest_helper]
981
+ end
982
+
983
+ should "resolve delete args" do
984
+ assert_equal [@owner, @parent], @path_helpers[:delete_rest_args]
985
+ end
986
+ end
987
+
988
+ context "nested REST paths given ActiveRecord collection and scoped by multiple object array and namespace symbol" do
989
+ setup do
990
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => [@owner, @parent], :namespace => :admin )
991
+ end
992
+
993
+ should "resolve index path" do
994
+ assert_equal 'admin_owner_parent_things_path', @path_helpers[:index_rest_helper]
995
+ end
996
+
997
+ should "resolve index args" do
998
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
999
+ end
1000
+
1001
+ should "resolve show path" do
1002
+ assert_equal 'admin_owner_parent_thing_path', @path_helpers[:show_rest_helper]
1003
+ end
1004
+
1005
+ should "resolve show args" do
1006
+ assert_equal [@owner, @parent], @path_helpers[:show_rest_args]
1007
+ end
1008
+
1009
+ should "resolve new path" do
1010
+ assert_equal 'new_admin_owner_parent_thing_path', @path_helpers[:new_rest_helper]
1011
+ end
1012
+
1013
+ should "resolve new args" do
1014
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
1015
+ end
1016
+
1017
+ should "resolve edit path" do
1018
+ assert_equal 'edit_admin_owner_parent_thing_path', @path_helpers[:edit_rest_helper]
1019
+ end
1020
+
1021
+ should "resolve edit args" do
1022
+ assert_equal [@owner, @parent], @path_helpers[:edit_rest_args]
1023
+ end
1024
+
1025
+ should "resolve delete path" do
1026
+ assert_equal 'delete_admin_owner_parent_thing_path', @path_helpers[:delete_rest_helper]
1027
+ end
1028
+
1029
+ should "resolve delete args" do
1030
+ assert_equal [@owner, @parent], @path_helpers[:delete_rest_args]
1031
+ end
1032
+ end
1033
+
1034
+ context "nested REST paths given ActiveRecord collection and scoped by multiple object array and namespace string" do
1035
+ setup do
1036
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => [@owner, @parent], :namespace => 'admin' )
1037
+ end
1038
+
1039
+ should "resolve index path" do
1040
+ assert_equal 'admin_owner_parent_things_path', @path_helpers[:index_rest_helper]
1041
+ end
1042
+
1043
+ should "resolve index args" do
1044
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
1045
+ end
1046
+
1047
+ should "resolve show path" do
1048
+ assert_equal 'admin_owner_parent_thing_path', @path_helpers[:show_rest_helper]
1049
+ end
1050
+
1051
+ should "resolve show args" do
1052
+ assert_equal [@owner, @parent], @path_helpers[:show_rest_args]
1053
+ end
1054
+
1055
+ should "resolve new path" do
1056
+ assert_equal 'new_admin_owner_parent_thing_path', @path_helpers[:new_rest_helper]
1057
+ end
1058
+
1059
+ should "resolve new args" do
1060
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
1061
+ end
1062
+
1063
+ should "resolve edit path" do
1064
+ assert_equal 'edit_admin_owner_parent_thing_path', @path_helpers[:edit_rest_helper]
1065
+ end
1066
+
1067
+ should "resolve edit args" do
1068
+ assert_equal [@owner, @parent], @path_helpers[:edit_rest_args]
1069
+ end
1070
+
1071
+ should "resolve delete path" do
1072
+ assert_equal 'delete_admin_owner_parent_thing_path', @path_helpers[:delete_rest_helper]
1073
+ end
1074
+
1075
+ should "resolve delete args" do
1076
+ assert_equal [@owner, @parent], @path_helpers[:delete_rest_args]
1077
+ end
1078
+ end
1079
+
1080
+ context "shallow nested REST paths given ActiveRecord object and scoped by single object" do
1081
+ setup do
1082
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => @parent, :shallow => true )
1083
+ end
1084
+
1085
+ should "resolve index path" do
1086
+ assert_equal 'parent_things_path', @path_helpers[:index_rest_helper]
1087
+ end
1088
+
1089
+ should "resolve index args" do
1090
+ assert_equal [@parent], @path_helpers[:index_rest_args]
1091
+ end
1092
+
1093
+ should "resolve show path" do
1094
+ assert_equal 'thing_path', @path_helpers[:show_rest_helper]
1095
+ end
1096
+
1097
+ should "resolve show args" do
1098
+ assert_equal [], @path_helpers[:show_rest_args]
1099
+ end
1100
+
1101
+ should "resolve new path" do
1102
+ assert_equal 'new_parent_thing_path', @path_helpers[:new_rest_helper]
1103
+ end
1104
+
1105
+ should "resolve new args" do
1106
+ assert_equal [@parent], @path_helpers[:new_rest_args]
1107
+ end
1108
+
1109
+ should "resolve edit path" do
1110
+ assert_equal 'edit_thing_path', @path_helpers[:edit_rest_helper]
1111
+ end
1112
+
1113
+ should "resolve edit args" do
1114
+ assert_equal [], @path_helpers[:edit_rest_args]
1115
+ end
1116
+
1117
+ should "resolve delete path" do
1118
+ assert_equal 'delete_thing_path', @path_helpers[:delete_rest_helper]
1119
+ end
1120
+
1121
+ should "resolve delete args" do
1122
+ assert_equal [], @path_helpers[:delete_rest_args]
1123
+ end
1124
+ end
1125
+
1126
+ context "shallow nested REST paths given ActiveRecord collection and scoped by single object" do
1127
+ setup do
1128
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => @parent, :shallow => true )
1129
+ end
1130
+
1131
+ should "resolve index path" do
1132
+ assert_equal 'parent_things_path', @path_helpers[:index_rest_helper]
1133
+ end
1134
+
1135
+ should "resolve index args" do
1136
+ assert_equal [@parent], @path_helpers[:index_rest_args]
1137
+ end
1138
+
1139
+ should "resolve show path" do
1140
+ assert_equal 'thing_path', @path_helpers[:show_rest_helper]
1141
+ end
1142
+
1143
+ should "resolve show args" do
1144
+ assert_equal [], @path_helpers[:show_rest_args]
1145
+ end
1146
+
1147
+ should "resolve new path" do
1148
+ assert_equal 'new_parent_thing_path', @path_helpers[:new_rest_helper]
1149
+ end
1150
+
1151
+ should "resolve new args" do
1152
+ assert_equal [@parent], @path_helpers[:new_rest_args]
1153
+ end
1154
+
1155
+ should "resolve edit path" do
1156
+ assert_equal 'edit_thing_path', @path_helpers[:edit_rest_helper]
1157
+ end
1158
+
1159
+ should "resolve edit args" do
1160
+ assert_equal [], @path_helpers[:edit_rest_args]
1161
+ end
1162
+
1163
+ should "resolve delete path" do
1164
+ assert_equal 'delete_thing_path', @path_helpers[:delete_rest_helper]
1165
+ end
1166
+
1167
+ should "resolve delete args" do
1168
+ assert_equal [], @path_helpers[:delete_rest_args]
1169
+ end
1170
+ end
1171
+
1172
+ context "shallow nested REST paths given ActiveRecord object and scoped by multiple object array" do
1173
+ setup do
1174
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => [@owner, @parent], :shallow => true )
1175
+ end
1176
+
1177
+ should "resolve index path" do
1178
+ assert_equal 'owner_parent_things_path', @path_helpers[:index_rest_helper]
1179
+ end
1180
+
1181
+ should "resolve index args" do
1182
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
1183
+ end
1184
+
1185
+ should "resolve show path" do
1186
+ assert_equal 'owner_thing_path', @path_helpers[:show_rest_helper]
1187
+ end
1188
+
1189
+ should "resolve show args" do
1190
+ assert_equal [@owner], @path_helpers[:show_rest_args]
1191
+ end
1192
+
1193
+ should "resolve new path" do
1194
+ assert_equal 'new_owner_parent_thing_path', @path_helpers[:new_rest_helper]
1195
+ end
1196
+
1197
+ should "resolve new args" do
1198
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
1199
+ end
1200
+
1201
+ should "resolve edit path" do
1202
+ assert_equal 'edit_owner_thing_path', @path_helpers[:edit_rest_helper]
1203
+ end
1204
+
1205
+ should "resolve edit args" do
1206
+ assert_equal [@owner], @path_helpers[:edit_rest_args]
1207
+ end
1208
+
1209
+ should "resolve delete path" do
1210
+ assert_equal 'delete_owner_thing_path', @path_helpers[:delete_rest_helper]
1211
+ end
1212
+
1213
+ should "resolve delete args" do
1214
+ assert_equal [@owner], @path_helpers[:delete_rest_args]
1215
+ end
1216
+ end
1217
+
1218
+ context "shallow nested REST paths given ActiveRecord collection and scoped by multiple object array" do
1219
+ setup do
1220
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @things, :scoped_by => [@owner, @parent], :shallow => true )
1221
+ end
1222
+
1223
+ should "resolve index path" do
1224
+ assert_equal 'owner_parent_things_path', @path_helpers[:index_rest_helper]
1225
+ end
1226
+
1227
+ should "resolve index args" do
1228
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
1229
+ end
1230
+
1231
+ should "resolve show path" do
1232
+ assert_equal 'owner_thing_path', @path_helpers[:show_rest_helper]
1233
+ end
1234
+
1235
+ should "resolve show args" do
1236
+ assert_equal [@owner], @path_helpers[:show_rest_args]
1237
+ end
1238
+
1239
+ should "resolve new path" do
1240
+ assert_equal 'new_owner_parent_thing_path', @path_helpers[:new_rest_helper]
1241
+ end
1242
+
1243
+ should "resolve new args" do
1244
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
1245
+ end
1246
+
1247
+ should "resolve edit path" do
1248
+ assert_equal 'edit_owner_thing_path', @path_helpers[:edit_rest_helper]
1249
+ end
1250
+
1251
+ should "resolve edit args" do
1252
+ assert_equal [@owner], @path_helpers[:edit_rest_args]
1253
+ end
1254
+
1255
+ should "resolve delete path" do
1256
+ assert_equal 'delete_owner_thing_path', @path_helpers[:delete_rest_helper]
1257
+ end
1258
+
1259
+ should "resolve delete args" do
1260
+ assert_equal [@owner], @path_helpers[:delete_rest_args]
1261
+ end
1262
+ end
1263
+
1264
+ context "shallow nested REST paths given ActiveRecord object and scoped by single object and namespace symbol" do
1265
+ setup do
1266
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => @parent, :namespace => :admin, :shallow => true )
1267
+ end
1268
+
1269
+ should "resolve index path" do
1270
+ assert_equal 'admin_parent_things_path', @path_helpers[:index_rest_helper]
1271
+ end
1272
+
1273
+ should "resolve index args" do
1274
+ assert_equal [@parent], @path_helpers[:index_rest_args]
1275
+ end
1276
+
1277
+ should "resolve show path" do
1278
+ assert_equal 'admin_thing_path', @path_helpers[:show_rest_helper]
1279
+ end
1280
+
1281
+ should "resolve show args" do
1282
+ assert_equal [], @path_helpers[:show_rest_args]
1283
+ end
1284
+
1285
+ should "resolve new path" do
1286
+ assert_equal 'new_admin_parent_thing_path', @path_helpers[:new_rest_helper]
1287
+ end
1288
+
1289
+ should "resolve new args" do
1290
+ assert_equal [@parent], @path_helpers[:new_rest_args]
1291
+ end
1292
+
1293
+ should "resolve edit path" do
1294
+ assert_equal 'edit_admin_thing_path', @path_helpers[:edit_rest_helper]
1295
+ end
1296
+
1297
+ should "resolve edit args" do
1298
+ assert_equal [], @path_helpers[:edit_rest_args]
1299
+ end
1300
+
1301
+ should "resolve delete path" do
1302
+ assert_equal 'delete_admin_thing_path', @path_helpers[:delete_rest_helper]
1303
+ end
1304
+
1305
+ should "resolve delete args" do
1306
+ assert_equal [], @path_helpers[:delete_rest_args]
1307
+ end
1308
+ end
1309
+
1310
+ context "shallow nested REST paths given ActiveRecord object and scoped by multiple object array and namespace symbol" do
1311
+ setup do
1312
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @thing, :scoped_by => [@owner, @parent], :namespace => :admin,
1313
+ :shallow => true )
1314
+ end
1315
+
1316
+ should "resolve index path" do
1317
+ assert_equal 'admin_owner_parent_things_path', @path_helpers[:index_rest_helper]
1318
+ end
1319
+
1320
+ should "resolve index args" do
1321
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
1322
+ end
1323
+
1324
+ should "resolve show path" do
1325
+ assert_equal 'admin_owner_thing_path', @path_helpers[:show_rest_helper]
1326
+ end
1327
+
1328
+ should "resolve show args" do
1329
+ assert_equal [@owner], @path_helpers[:show_rest_args]
1330
+ end
1331
+
1332
+ should "resolve new path" do
1333
+ assert_equal 'new_admin_owner_parent_thing_path', @path_helpers[:new_rest_helper]
1334
+ end
1335
+
1336
+ should "resolve new args" do
1337
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
1338
+ end
1339
+
1340
+ should "resolve edit path" do
1341
+ assert_equal 'edit_admin_owner_thing_path', @path_helpers[:edit_rest_helper]
1342
+ end
1343
+
1344
+ should "resolve edit args" do
1345
+ assert_equal [@owner], @path_helpers[:edit_rest_args]
1346
+ end
1347
+
1348
+ should "resolve delete path" do
1349
+ assert_equal 'delete_admin_owner_thing_path', @path_helpers[:delete_rest_helper]
1350
+ end
1351
+
1352
+ should "resolve delete args" do
1353
+ assert_equal [@owner], @path_helpers[:delete_rest_args]
1354
+ end
1355
+ end
1356
+
1357
+ context "single level REST paths given a polymorphic ActiveRecord object" do
1358
+ setup do
1359
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @lookup, :polymorphic_type => 'Thing', :polymorphic_as => :lookupable )
1360
+ end
1361
+
1362
+ should "resolve index path" do
1363
+ assert_equal 'things_path', @path_helpers[:index_rest_helper]
1364
+ end
1365
+
1366
+ should "resolve index args" do
1367
+ assert_equal [], @path_helpers[:index_rest_args]
1368
+ end
1369
+
1370
+ should "resolve show path" do
1371
+ assert_equal 'thing_path', @path_helpers[:show_rest_helper]
1372
+ end
1373
+
1374
+ should "resolve show args" do
1375
+ assert_equal [], @path_helpers[:show_rest_args]
1376
+ end
1377
+
1378
+ should "resolve new path" do
1379
+ assert_equal 'new_thing_path', @path_helpers[:new_rest_helper]
1380
+ end
1381
+
1382
+ should "resolve new args" do
1383
+ assert_equal [], @path_helpers[:new_rest_args]
1384
+ end
1385
+
1386
+ should "resolve edit path" do
1387
+ assert_equal 'edit_thing_path', @path_helpers[:edit_rest_helper]
1388
+ end
1389
+
1390
+ should "resolve edit args" do
1391
+ assert_equal [], @path_helpers[:edit_rest_args]
1392
+ end
1393
+
1394
+ should "resolve delete path" do
1395
+ assert_equal 'delete_thing_path', @path_helpers[:delete_rest_helper]
1396
+ end
1397
+
1398
+ should "resolve delete args" do
1399
+ assert_equal [], @path_helpers[:delete_rest_args]
1400
+ end
1401
+ end
1402
+
1403
+ context "shallow nested REST paths given a polymorphic ActiveRecord object and scoped by multiple object array and namespace symbol" do
1404
+ setup do
1405
+ @path_helpers = Guilded::Rails::Helpers.resolve_rest_path_helpers( @looku, :scoped_by => [@owner, @parent], :namespace => :admin,
1406
+ :shallow => true, :polymorphic_type => 'Thing', :polymorphic_as => :lookupable )
1407
+ end
1408
+
1409
+ should "resolve index path" do
1410
+ assert_equal 'admin_owner_parent_things_path', @path_helpers[:index_rest_helper]
1411
+ end
1412
+
1413
+ should "resolve index args" do
1414
+ assert_equal [@owner, @parent], @path_helpers[:index_rest_args]
1415
+ end
1416
+
1417
+ should "resolve show path" do
1418
+ assert_equal 'admin_owner_thing_path', @path_helpers[:show_rest_helper]
1419
+ end
1420
+
1421
+ should "resolve show args" do
1422
+ assert_equal [@owner], @path_helpers[:show_rest_args]
1423
+ end
1424
+
1425
+ should "resolve new path" do
1426
+ assert_equal 'new_admin_owner_parent_thing_path', @path_helpers[:new_rest_helper]
1427
+ end
1428
+
1429
+ should "resolve new args" do
1430
+ assert_equal [@owner, @parent], @path_helpers[:new_rest_args]
1431
+ end
1432
+
1433
+ should "resolve edit path" do
1434
+ assert_equal 'edit_admin_owner_thing_path', @path_helpers[:edit_rest_helper]
1435
+ end
1436
+
1437
+ should "resolve edit args" do
1438
+ assert_equal [@owner], @path_helpers[:edit_rest_args]
1439
+ end
1440
+
1441
+ should "resolve delete path" do
1442
+ assert_equal 'delete_admin_owner_thing_path', @path_helpers[:delete_rest_helper]
1443
+ end
1444
+
1445
+ should "resolve delete args" do
1446
+ assert_equal [@owner], @path_helpers[:delete_rest_args]
1447
+ end
1448
+ end
1449
+ end
1450
+ end