radiant-templates-extension 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/HELP_designer.textile +3 -3
- data/README.textile +3 -3
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/app/views/admin/pages/_edit_template.html.haml +1 -2
- data/app/views/admin/pages/_switch_templates.html.haml +4 -4
- data/app/views/admin/pages/_template_chooser.html.haml +43 -0
- data/app/views/admin/templates/index.html.haml +0 -1
- data/pkg/radiant-templates-extension-1.0.0.gem +0 -0
- data/radiant-templates-extension.gemspec +176 -0
- data/templates_extension.rb +1 -1
- data/vendor/plugins/make_resourceful/.gitignore +1 -0
- data/vendor/plugins/make_resourceful/DEFAULTS +1 -1
- data/vendor/plugins/make_resourceful/README +7 -6
- data/vendor/plugins/make_resourceful/Rakefile +2 -13
- data/vendor/plugins/make_resourceful/VERSION +1 -1
- data/vendor/plugins/make_resourceful/generators/resourceful_scaffold/templates/functional_test.rb +1 -8
- data/vendor/plugins/make_resourceful/lib/resourceful/base.rb +11 -0
- data/vendor/plugins/make_resourceful/lib/resourceful/builder.rb +33 -2
- data/vendor/plugins/make_resourceful/lib/resourceful/default/accessors.rb +63 -7
- data/vendor/plugins/make_resourceful/lib/resourceful/default/actions.rb +15 -6
- data/vendor/plugins/make_resourceful/lib/resourceful/default/responses.rb +7 -7
- data/vendor/plugins/make_resourceful/lib/resourceful/default/urls.rb +6 -6
- data/vendor/plugins/make_resourceful/lib/resourceful/maker.rb +1 -0
- data/vendor/plugins/make_resourceful/spec/accessors_spec.rb +3 -2
- data/vendor/plugins/make_resourceful/spec/actions_spec.rb +33 -6
- data/vendor/plugins/make_resourceful/spec/integration_spec.rb +22 -22
- data/vendor/plugins/make_resourceful/spec/{rspec_on_rails → rspec-rails}/LICENSE +8 -6
- data/vendor/plugins/make_resourceful/spec/rspec-rails/redirect_to.rb +113 -0
- data/vendor/plugins/make_resourceful/spec/rspec-rails/render_template.rb +90 -0
- data/vendor/plugins/make_resourceful/spec/spec_helper.rb +62 -22
- data/vendor/plugins/make_resourceful/spec/urls_spec.rb +2 -0
- metadata +15 -11
- data/vendor/plugins/make_resourceful/spec/rspec_on_rails/redirect_to.rb +0 -81
- data/vendor/plugins/make_resourceful/spec/rspec_on_rails/render_template.rb +0 -28
@@ -85,10 +85,10 @@ module Resourceful
|
|
85
85
|
# For example, if Person has_one Hat,
|
86
86
|
# then in HatsController current_object essentially runs <tt>Person.find(params[:person_id]).hat</tt>.
|
87
87
|
def current_object
|
88
|
-
@current_object ||= if plural?
|
89
|
-
current_model.find(params[:id])
|
88
|
+
@current_object ||= if !parent? || plural?
|
89
|
+
current_model.find(params[:id]) if params[:id]
|
90
90
|
else
|
91
|
-
parent_object.send(instance_variable_name)
|
91
|
+
parent_object.send(instance_variable_name.singularize)
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
@@ -126,7 +126,10 @@ module Resourceful
|
|
126
126
|
current_model.build(object_parameters)
|
127
127
|
else
|
128
128
|
returning(current_model.new(object_parameters)) do |obj|
|
129
|
-
|
129
|
+
if singular? && parent?
|
130
|
+
obj.send("#{parent_name}_id=", parent_object.id)
|
131
|
+
obj.send("#{parent_name}_type=", parent_object.class.to_s) if polymorphic_parent?
|
132
|
+
end
|
130
133
|
end
|
131
134
|
end
|
132
135
|
end
|
@@ -205,6 +208,11 @@ module Resourceful
|
|
205
208
|
!!parent_name
|
206
209
|
end
|
207
210
|
|
211
|
+
# Returns whether the parent (if it exists) is polymorphic
|
212
|
+
def polymorphic_parent?
|
213
|
+
!!polymorphic_parent_name
|
214
|
+
end
|
215
|
+
|
208
216
|
# Returns the name of the current parent object if a parent id is given, or nil otherwise.
|
209
217
|
# For example, in HatsController where Rack has_many :hats and Person has_many :hats,
|
210
218
|
# if <tt>params[:rack_id]</tt> is given,
|
@@ -235,20 +243,61 @@ module Resourceful
|
|
235
243
|
# rather than <tt>@parent_name ||=</tt>. See the source code.
|
236
244
|
#
|
237
245
|
# Finally, note that parents must be declared via Builder#belongs_to.
|
246
|
+
#
|
247
|
+
# FIXME - Perhaps this logic should be moved to parent?() or another init method
|
238
248
|
def parent_name
|
239
249
|
return @parent_name if defined?(@parent_name)
|
240
250
|
@parent_name = parent_names.find { |name| params["#{name}_id"] }
|
251
|
+
if @parent_name.nil?
|
252
|
+
# get any polymorphic parents through :as association inspection
|
253
|
+
names = params.reject { |key, value| key.to_s[/_id$/].nil? }.keys.map { |key| key.chomp("_id") }
|
254
|
+
names.each do |name|
|
255
|
+
begin
|
256
|
+
klass = name.camelize.constantize
|
257
|
+
id = params["#{name}_id"]
|
258
|
+
object = klass.find(id)
|
259
|
+
if association = object.class.reflect_on_all_associations.detect { |association| association.options[:as] && parent_names.include?(association.options[:as].to_s) }
|
260
|
+
@parent_name = name
|
261
|
+
@polymorphic_parent_name = association.options[:as].to_s
|
262
|
+
@parent_class_name = name.camelize
|
263
|
+
@parent_object = object
|
264
|
+
break
|
265
|
+
end
|
266
|
+
rescue
|
267
|
+
end
|
268
|
+
end
|
269
|
+
else
|
270
|
+
@parent_class_name = params["#{parent_name}_type"]
|
271
|
+
@polymorphic_parent = !@parent_class_name.nil?
|
272
|
+
end
|
273
|
+
@parent_name
|
274
|
+
end
|
275
|
+
|
276
|
+
def polymorphic_parent_name
|
277
|
+
@polymorphic_parent_name
|
278
|
+
end
|
279
|
+
|
280
|
+
# Returns the class name of the current parent.
|
281
|
+
# For example, in HatsController where Person has_many :hats,
|
282
|
+
# if <tt>params[:person_id]</tt> is given,
|
283
|
+
#
|
284
|
+
# parent_class_name #=> 'Person'
|
285
|
+
#
|
286
|
+
# Note that parents must be declared via Builder#belongs_to.
|
287
|
+
def parent_class_name
|
288
|
+
parent_name # to init @parent_class_name
|
289
|
+
@parent_class_name ||= parent_name.nil? ? nil : parent_name.camelize
|
241
290
|
end
|
242
291
|
|
243
292
|
# Returns the model class of the current parent.
|
244
293
|
# For example, in HatsController where Person has_many :hats,
|
245
294
|
# if <tt>params[:person_id]</tt> is given,
|
246
295
|
#
|
247
|
-
# parent_models #=>
|
296
|
+
# parent_models #=> Person
|
248
297
|
#
|
249
298
|
# Note that parents must be declared via Builder#belongs_to.
|
250
299
|
def parent_model
|
251
|
-
|
300
|
+
parent_class_name.nil? ? nil : parent_class_name.constantize
|
252
301
|
end
|
253
302
|
|
254
303
|
# Returns the current parent object for the current object.
|
@@ -262,7 +311,7 @@ module Resourceful
|
|
262
311
|
# Note also that the results of this method are cached
|
263
312
|
# so that multiple calls don't result in multiple SQL queries.
|
264
313
|
def parent_object
|
265
|
-
@parent_object ||= parent_model.find(params["#{parent_name}_id"])
|
314
|
+
@parent_object ||= parent_model.nil? ? nil : parent_model.find(params["#{parent_name}_id"])
|
266
315
|
end
|
267
316
|
|
268
317
|
# Assigns the current parent object, as given by parent_objects,
|
@@ -272,6 +321,7 @@ module Resourceful
|
|
272
321
|
# You shouldn't need to use it directly unless you're creating a new action.
|
273
322
|
def load_parent_object
|
274
323
|
instance_variable_set("@#{parent_name}", parent_object) if parent?
|
324
|
+
instance_variable_set("@#{polymorphic_parent_name}", parent_object) if polymorphic_parent?
|
275
325
|
end
|
276
326
|
|
277
327
|
# Renders a 422 error if no parent id is given.
|
@@ -328,6 +378,9 @@ module Resourceful
|
|
328
378
|
#
|
329
379
|
# Note that the way this is determined is based on the singularity of the controller name,
|
330
380
|
# so it may yield false positives for oddly-named controllers and need to be overridden.
|
381
|
+
#
|
382
|
+
# TODO: maybe we can define plural? and singular? as class_methods,
|
383
|
+
# so they are not visible to the world
|
331
384
|
def singular?
|
332
385
|
instance_variable_name.singularize == instance_variable_name
|
333
386
|
end
|
@@ -338,6 +391,9 @@ module Resourceful
|
|
338
391
|
# Note that the way this is determined is based on the singularity of the controller name,
|
339
392
|
# so it may yield false negatives for oddly-named controllers.
|
340
393
|
# If this is the case, the singular? method should be overridden.
|
394
|
+
#
|
395
|
+
# TODO: maybe we can define plural? and singular? as class_methods,
|
396
|
+
# so they are not visible to the world
|
341
397
|
def plural?
|
342
398
|
!singular?
|
343
399
|
end
|
@@ -15,14 +15,15 @@ module Resourceful
|
|
15
15
|
module Actions
|
16
16
|
# GET /foos
|
17
17
|
def index
|
18
|
-
load_objects
|
18
|
+
#load_objects
|
19
19
|
before :index
|
20
20
|
response_for :index
|
21
21
|
end
|
22
22
|
|
23
23
|
# GET /foos/12
|
24
24
|
def show
|
25
|
-
|
25
|
+
# NOTE - Moved this call to a more generic place
|
26
|
+
#load_object
|
26
27
|
before :show
|
27
28
|
response_for :show
|
28
29
|
rescue
|
@@ -47,9 +48,17 @@ module Resourceful
|
|
47
48
|
|
48
49
|
# PUT /foos/12
|
49
50
|
def update
|
50
|
-
load_object
|
51
|
+
#load_object
|
51
52
|
before :update
|
52
|
-
|
53
|
+
|
54
|
+
begin
|
55
|
+
result = current_object.update_attributes object_parameters
|
56
|
+
rescue ActiveRecord::StaleObjectError
|
57
|
+
current_object.reload
|
58
|
+
result = false
|
59
|
+
end
|
60
|
+
|
61
|
+
if result
|
53
62
|
save_succeeded!
|
54
63
|
after :update
|
55
64
|
response_for :update
|
@@ -70,14 +79,14 @@ module Resourceful
|
|
70
79
|
|
71
80
|
# GET /foos/12/edit
|
72
81
|
def edit
|
73
|
-
load_object
|
82
|
+
#load_object
|
74
83
|
before :edit
|
75
84
|
response_for :edit
|
76
85
|
end
|
77
86
|
|
78
87
|
# DELETE /foos/12
|
79
88
|
def destroy
|
80
|
-
load_object
|
89
|
+
#load_object
|
81
90
|
before :destroy
|
82
91
|
if current_object.destroy
|
83
92
|
after :destroy
|
@@ -58,7 +58,7 @@ module Resourceful
|
|
58
58
|
end
|
59
59
|
|
60
60
|
response_for(:show_fails) do |format|
|
61
|
-
not_found = Proc.new { render :text => "No item found", :status => 404 }
|
61
|
+
not_found = Proc.new { render :text => I18n.t('make_resourceful.show.fails', :default => "No item found"), :status => 404 }
|
62
62
|
format.html ¬_found
|
63
63
|
format.js ¬_found
|
64
64
|
format.xml ¬_found
|
@@ -66,7 +66,7 @@ module Resourceful
|
|
66
66
|
|
67
67
|
response_for(:create) do |format|
|
68
68
|
format.html do
|
69
|
-
set_default_flash
|
69
|
+
set_default_flash :notice, I18n.t('make_resourceful.create.success', :default => "Create successful!")
|
70
70
|
set_default_redirect object_path
|
71
71
|
end
|
72
72
|
format.js
|
@@ -74,7 +74,7 @@ module Resourceful
|
|
74
74
|
|
75
75
|
response_for(:create_fails) do |format|
|
76
76
|
format.html do
|
77
|
-
set_default_flash :error, "There was a problem!"
|
77
|
+
set_default_flash :error, I18n.t('make_resourceful.create.fails', :default => "There was a problem!")
|
78
78
|
render :action => :new, :status => 422
|
79
79
|
end
|
80
80
|
format.js
|
@@ -82,7 +82,7 @@ module Resourceful
|
|
82
82
|
|
83
83
|
response_for(:update) do |format|
|
84
84
|
format.html do
|
85
|
-
set_default_flash :notice, "Save successful!"
|
85
|
+
set_default_flash :notice, I18n.t('make_resourceful.update.success', :default => "Save successful!")
|
86
86
|
set_default_redirect object_path
|
87
87
|
end
|
88
88
|
format.js
|
@@ -90,7 +90,7 @@ module Resourceful
|
|
90
90
|
|
91
91
|
response_for(:update_fails) do |format|
|
92
92
|
format.html do
|
93
|
-
set_default_flash :error, "There was a problem saving!"
|
93
|
+
set_default_flash :error, I18n.t('make_resourceful.update.fails', :default => "There was a problem saving!")
|
94
94
|
render :action => :edit, :status => 422
|
95
95
|
end
|
96
96
|
format.js
|
@@ -98,7 +98,7 @@ module Resourceful
|
|
98
98
|
|
99
99
|
response_for(:destroy) do |format|
|
100
100
|
format.html do
|
101
|
-
set_default_flash :notice, "Record deleted!"
|
101
|
+
set_default_flash :notice, I18n.t('make_resourceful.destroy.success', :default => "Record deleted!")
|
102
102
|
set_default_redirect objects_path
|
103
103
|
end
|
104
104
|
format.js
|
@@ -106,7 +106,7 @@ module Resourceful
|
|
106
106
|
|
107
107
|
response_for(:destroy_fails) do |format|
|
108
108
|
format.html do
|
109
|
-
set_default_flash :error, "There was a problem deleting!"
|
109
|
+
set_default_flash :error, I18n.t('make_resourceful.destroy.fails', :default => "There was a problem deleting!")
|
110
110
|
set_default_redirect :back, :status => :failure
|
111
111
|
end
|
112
112
|
format.js
|
@@ -65,11 +65,11 @@ module Resourceful
|
|
65
65
|
# This returns the path for the parent object.
|
66
66
|
#
|
67
67
|
def parent_path(object = parent_object)
|
68
|
-
instance_route(
|
68
|
+
instance_route(parent_class_name.underscore, object, 'path')
|
69
69
|
end
|
70
70
|
# Same as parent_path, but with the protocol and hostname.
|
71
71
|
def parent_url(object = parent_object)
|
72
|
-
instance_route(
|
72
|
+
instance_route(parent_class_name.underscore, object, 'url')
|
73
73
|
end
|
74
74
|
|
75
75
|
# This prefix is added to the Rails URL helper names
|
@@ -98,7 +98,7 @@ module Resourceful
|
|
98
98
|
#
|
99
99
|
# See also url_helper_prefix.
|
100
100
|
def collection_url_prefix
|
101
|
-
parent? ? "#{
|
101
|
+
parent? ? "#{parent_class_name.underscore}_" : ''
|
102
102
|
end
|
103
103
|
|
104
104
|
private
|
@@ -109,7 +109,7 @@ module Resourceful
|
|
109
109
|
|
110
110
|
def nested_object_route(object, type)
|
111
111
|
return object_route(object, type) unless parent?
|
112
|
-
send("#{url_helper_prefix}#{
|
112
|
+
send("#{url_helper_prefix}#{parent_class_name.underscore}_#{current_model_name.underscore}_#{type}", parent_object, object)
|
113
113
|
end
|
114
114
|
|
115
115
|
def edit_object_route(object, type)
|
@@ -125,11 +125,11 @@ module Resourceful
|
|
125
125
|
end
|
126
126
|
|
127
127
|
def instance_route(name, object, type, action = nil)
|
128
|
-
send("#{action ? action + '_' : ''}#{url_helper_prefix}#{name}_#{type}", object)
|
128
|
+
send("#{action ? action + '_' : ''}#{url_helper_prefix}#{collection_url_prefix}#{name}_#{type}", *(parent? ? [parent_object, object] : [object]))
|
129
129
|
end
|
130
130
|
|
131
131
|
def collection_route(name, type, action = nil)
|
132
|
-
send("#{action ? action + '_' : ''}#{url_helper_prefix
|
132
|
+
send("#{action ? action + '_' : ''}#{url_helper_prefix}#{collection_url_prefix}#{name}_#{type}",
|
133
133
|
*(parent? ? [parent_object] : []))
|
134
134
|
end
|
135
135
|
end
|
@@ -75,6 +75,7 @@ module Resourceful
|
|
75
75
|
helper_method(:object_path, :objects_path, :new_object_path, :edit_object_path,
|
76
76
|
:object_url, :objects_url, :new_object_url, :edit_object_url,
|
77
77
|
:parent_path, :parent_url,
|
78
|
+
:nested_object_path, :nested_object_url,
|
78
79
|
:current_objects, :current_object, :current_model, :current_model_name,
|
79
80
|
:namespaces, :instance_variable_name, :parent_names, :parent_name,
|
80
81
|
:parent?, :parent_model, :parent_object, :save_succeeded?)
|
@@ -77,7 +77,7 @@ describe Resourceful::Default::Accessors, "#current_object on a singular control
|
|
77
77
|
before :each do
|
78
78
|
mock_controller Resourceful::Default::Accessors
|
79
79
|
@controller.stubs(:plural?).returns(false)
|
80
|
-
@controller.stubs(:
|
80
|
+
@controller.stubs(:controller_name).returns("posts")
|
81
81
|
|
82
82
|
@parent = stub('parent')
|
83
83
|
@controller.stubs(:parent_object).returns(@parent)
|
@@ -86,7 +86,7 @@ describe Resourceful::Default::Accessors, "#current_object on a singular control
|
|
86
86
|
@object = stub
|
87
87
|
end
|
88
88
|
|
89
|
-
it "should
|
89
|
+
it "should return the instance object from parent object" do
|
90
90
|
@parent.expects(:post).returns(@object)
|
91
91
|
@controller.current_object.should == @object
|
92
92
|
end
|
@@ -342,6 +342,7 @@ describe Resourceful::Default::Accessors, " with no parents" do
|
|
342
342
|
mock_controller Resourceful::Default::Accessors
|
343
343
|
@controller.stubs(:parents).returns([])
|
344
344
|
@controller.stubs(:current_model_name).returns('Line')
|
345
|
+
@controller.stubs(:params).returns({})
|
345
346
|
stub_const 'Line'
|
346
347
|
end
|
347
348
|
|
@@ -10,7 +10,7 @@ describe Resourceful::Default::Actions, " index action" do
|
|
10
10
|
after(:each) { @controller.index }
|
11
11
|
|
12
12
|
it "should load the object collection" do
|
13
|
-
|
13
|
+
#@controller.expects(:load_objects)
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should call the before :index callback" do
|
@@ -32,7 +32,7 @@ describe Resourceful::Default::Actions, " show action" do
|
|
32
32
|
after(:each) { @controller.show }
|
33
33
|
|
34
34
|
it "should load the instance object" do
|
35
|
-
|
35
|
+
#@controller.expects(:load_object)
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should call the before :show callback" do
|
@@ -44,7 +44,7 @@ describe Resourceful::Default::Actions, " show action" do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
it "should run the response for show failing if an exception is raised" do
|
47
|
-
@controller.stubs(:
|
47
|
+
@controller.stubs(:response_for).with(:show).raises("Oh no!")
|
48
48
|
@controller.expects(:response_for).with(:show_fails)
|
49
49
|
end
|
50
50
|
end
|
@@ -128,7 +128,7 @@ describe Resourceful::Default::Actions, " successful update action" do
|
|
128
128
|
after(:each) { @controller.update }
|
129
129
|
|
130
130
|
it "should load the instance object" do
|
131
|
-
|
131
|
+
#@controller.expects(:load_object)
|
132
132
|
end
|
133
133
|
|
134
134
|
it "should call the before :update callback" do
|
@@ -178,6 +178,33 @@ describe Resourceful::Default::Actions, " unsuccessful update action" do
|
|
178
178
|
end
|
179
179
|
end
|
180
180
|
|
181
|
+
describe Resourceful::Default::Actions, " unsuccessful update action because of StaleObjectError" do
|
182
|
+
include ControllerMocks
|
183
|
+
before :each do
|
184
|
+
mock_controller Resourceful::Default::Actions
|
185
|
+
[:load_object, :before, :after, :object_parameters,
|
186
|
+
:save_failed!, :response_for].each(&@controller.method(:stubs))
|
187
|
+
@object = stub_model("Thing")
|
188
|
+
@object.stubs(:update_attributes).raises(ActiveRecord::StaleObjectError)
|
189
|
+
@object.expects(:reload)
|
190
|
+
@controller.stubs(:current_object).returns(@object)
|
191
|
+
end
|
192
|
+
|
193
|
+
after(:each) { @controller.update }
|
194
|
+
|
195
|
+
it "should record the unsuccessful save" do
|
196
|
+
@controller.expects(:save_failed!)
|
197
|
+
end
|
198
|
+
|
199
|
+
it "should call the after :update_fails callback" do
|
200
|
+
@controller.expects(:after).with(:update_fails)
|
201
|
+
end
|
202
|
+
|
203
|
+
it "should run the response for update failing" do
|
204
|
+
@controller.expects(:response_for).with(:update_fails)
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
181
208
|
describe Resourceful::Default::Actions, " new action" do
|
182
209
|
include ControllerMocks
|
183
210
|
before :each do
|
@@ -215,7 +242,7 @@ describe Resourceful::Default::Actions, " edit action" do
|
|
215
242
|
after(:each) { @controller.edit }
|
216
243
|
|
217
244
|
it "should load the instance object" do
|
218
|
-
|
245
|
+
#@controller.expects(:load_object)
|
219
246
|
end
|
220
247
|
|
221
248
|
it "should call the before :edit callback" do
|
@@ -240,7 +267,7 @@ describe Resourceful::Default::Actions, " successful destroy action" do
|
|
240
267
|
after(:each) { @controller.destroy }
|
241
268
|
|
242
269
|
it "should load the instance object" do
|
243
|
-
|
270
|
+
#@controller.expects(:load_object)
|
244
271
|
end
|
245
272
|
|
246
273
|
it "should call the before :destroy callback" do
|
@@ -1,8 +1,7 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
2
|
|
3
|
-
describe "ThingsController", "with all the resourceful actions"
|
4
|
-
|
5
|
-
#inherit Test::Unit::TestCase
|
3
|
+
describe "ThingsController", "with all the resourceful actions" do
|
4
|
+
|
6
5
|
before :each do
|
7
6
|
mock_resourceful do
|
8
7
|
actions :all
|
@@ -21,6 +20,8 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
21
20
|
(Resourceful::ACTIONS - Resourceful::MODIFYING_ACTIONS).each(&method(:should_render_html))
|
22
21
|
Resourceful::ACTIONS.each(&method(:should_render_js))
|
23
22
|
Resourceful::ACTIONS.each(&method(:shouldnt_render_xml))
|
23
|
+
|
24
|
+
|
24
25
|
|
25
26
|
## Specs for #index
|
26
27
|
|
@@ -32,7 +33,7 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
32
33
|
it "should return a list of objects for #current_objects after GET /things" do
|
33
34
|
Thing.stubs(:find).returns(@objects)
|
34
35
|
get :index
|
35
|
-
|
36
|
+
current_objects.should == @objects
|
36
37
|
end
|
37
38
|
|
38
39
|
it "should assign @things to a list of objects for GET /things" do
|
@@ -51,7 +52,7 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
51
52
|
it "should return an object for #current_object after GET /things/12" do
|
52
53
|
Thing.stubs(:find).returns(@object)
|
53
54
|
get :show, :id => 12
|
54
|
-
|
55
|
+
current_object.should == @object
|
55
56
|
end
|
56
57
|
|
57
58
|
it "should assign @thing to an object for GET /things/12" do
|
@@ -70,7 +71,7 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
70
71
|
it "should return an object for #current_object after GET /things/12/edit" do
|
71
72
|
Thing.stubs(:find).returns(@object)
|
72
73
|
get :edit, :id => 12
|
73
|
-
|
74
|
+
current_object.should == @object
|
74
75
|
end
|
75
76
|
|
76
77
|
it "should assign @thing to an object for GET /things/12/edit" do
|
@@ -94,7 +95,7 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
94
95
|
it "should return the new object for #current_object after GET /things/new" do
|
95
96
|
Thing.stubs(:new).returns(@object)
|
96
97
|
get :new
|
97
|
-
|
98
|
+
current_object.should == @object
|
98
99
|
end
|
99
100
|
|
100
101
|
it "should assign @thing to the new object for GET /things/new" do
|
@@ -118,7 +119,7 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
118
119
|
it "should return the new object for #current_object after POST /things" do
|
119
120
|
Thing.stubs(:new).returns(@object)
|
120
121
|
post :create
|
121
|
-
|
122
|
+
current_object.should == @object
|
122
123
|
end
|
123
124
|
|
124
125
|
it "should assign @thing to the new object for POST /things" do
|
@@ -177,7 +178,7 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
177
178
|
it "should return an object for #current_object after PUT /things/12" do
|
178
179
|
Thing.stubs(:find).returns(@object)
|
179
180
|
put :update, :id => 12
|
180
|
-
|
181
|
+
current_object.should == @object
|
181
182
|
end
|
182
183
|
|
183
184
|
it "should assign @thing to an object for PUT /things/12" do
|
@@ -236,7 +237,7 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
236
237
|
it "should return an object for #current_object after DELETE /things/12" do
|
237
238
|
Thing.stubs(:find).returns(@object)
|
238
239
|
delete :destroy, :id => 12
|
239
|
-
|
240
|
+
current_object.should == @object
|
240
241
|
end
|
241
242
|
|
242
243
|
it "should assign @thing to an object for DELETE /things/12" do
|
@@ -286,7 +287,6 @@ describe "ThingsController", "with all the resourceful actions", :type => :integ
|
|
286
287
|
end
|
287
288
|
|
288
289
|
describe "ThingsController", "with several parent objects", :type => :integration do
|
289
|
-
include RailsMocks
|
290
290
|
before :each do
|
291
291
|
mock_resourceful do
|
292
292
|
actions :all
|
@@ -309,19 +309,19 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
309
309
|
it "should find all things on GET /things" do
|
310
310
|
Thing.expects(:find).with(:all).returns(@objects)
|
311
311
|
get :index
|
312
|
-
|
312
|
+
current_objects.should == @objects
|
313
313
|
end
|
314
314
|
|
315
315
|
it "should find the thing with id 12 regardless of scoping on GET /things/12" do
|
316
316
|
Thing.expects(:find).with('12').returns(@object)
|
317
317
|
get :show, :id => 12
|
318
|
-
|
318
|
+
current_object.should == @object
|
319
319
|
end
|
320
320
|
|
321
321
|
it "should create a new thing without a person on POST /things" do
|
322
322
|
Thing.expects(:new).with('name' => "Lamp").returns(@object)
|
323
323
|
post :create, :thing => {:name => "Lamp"}
|
324
|
-
|
324
|
+
current_object.should == @object
|
325
325
|
end
|
326
326
|
|
327
327
|
## Person ids
|
@@ -331,7 +331,7 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
331
331
|
@person.stubs(:things).returns(@fake_model)
|
332
332
|
@fake_model.stubs(:find).with(:all).returns(@objects)
|
333
333
|
get :index, :person_id => 4
|
334
|
-
controller.parent_object.should == @person
|
334
|
+
controller.instance_eval("parent_object").should == @person
|
335
335
|
assigns(:person).should == @person
|
336
336
|
end
|
337
337
|
|
@@ -340,7 +340,7 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
340
340
|
@person.expects(:things).at_least_once.returns(@fake_model)
|
341
341
|
@fake_model.expects(:find).with(:all).returns(@objects)
|
342
342
|
get :index, :person_id => 4
|
343
|
-
|
343
|
+
current_objects.should == @objects
|
344
344
|
end
|
345
345
|
|
346
346
|
it "should find the thing with id 12 if it belongs to the person with id 4 on GET /person/4/things/12" do
|
@@ -348,7 +348,7 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
348
348
|
@person.expects(:things).at_least_once.returns(@fake_model)
|
349
349
|
@fake_model.expects(:find).with('12').returns(@object)
|
350
350
|
get :show, :person_id => 4, :id => 12
|
351
|
-
|
351
|
+
current_object.should == @object
|
352
352
|
end
|
353
353
|
|
354
354
|
it "should create a new thing belonging to the person with id 4 on POST /person/4/things" do
|
@@ -356,7 +356,7 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
356
356
|
@person.expects(:things).at_least_once.returns(@fake_model)
|
357
357
|
@fake_model.expects(:build).with('name' => 'Lamp').returns(@object)
|
358
358
|
post :create, :person_id => 4, :thing => {:name => "Lamp"}
|
359
|
-
|
359
|
+
current_object.should == @object
|
360
360
|
end
|
361
361
|
|
362
362
|
## Category ids
|
@@ -366,7 +366,7 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
366
366
|
@category.stubs(:things).returns(@fake_model)
|
367
367
|
@fake_model.stubs(:find).with(:all).returns(@objects)
|
368
368
|
get :index, :category_id => 4
|
369
|
-
controller.parent_object.should == @category
|
369
|
+
controller.instance_eval("parent_object").should == @category
|
370
370
|
assigns(:category).should == @category
|
371
371
|
end
|
372
372
|
|
@@ -375,7 +375,7 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
375
375
|
@category.expects(:things).at_least_once.returns(@fake_model)
|
376
376
|
@fake_model.expects(:find).with(:all).returns(@objects)
|
377
377
|
get :index, :category_id => 4
|
378
|
-
|
378
|
+
current_objects.should == @objects
|
379
379
|
end
|
380
380
|
|
381
381
|
it "should find the thing with id 12 if it belongs to the category with id 4 on GET /category/4/things/12" do
|
@@ -383,7 +383,7 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
383
383
|
@category.expects(:things).at_least_once.returns(@fake_model)
|
384
384
|
@fake_model.expects(:find).with('12').returns(@object)
|
385
385
|
get :show, :category_id => 4, :id => 12
|
386
|
-
|
386
|
+
current_object.should == @object
|
387
387
|
end
|
388
388
|
|
389
389
|
it "should create a new thing belonging to the category with id 4 on POST /category/4/things" do
|
@@ -391,6 +391,6 @@ describe "ThingsController", "with several parent objects", :type => :integratio
|
|
391
391
|
@category.expects(:things).at_least_once.returns(@fake_model)
|
392
392
|
@fake_model.expects(:build).with('name' => 'Lamp').returns(@object)
|
393
393
|
post :create, :category_id => 4, :thing => {:name => "Lamp"}
|
394
|
-
|
394
|
+
current_object.should == @object
|
395
395
|
end
|
396
396
|
end
|