[rspec-users] Controller Spec & DataMapper Chaining
Sid Wood
sidwood2 at gmail.com
Fri Mar 18 12:37:03 EDT 2011
Thanks for the replies guys.
My problem is writing a test for
@widgets = @widgets.by_alpha(params[:alpha])
DataMapper allows you to chain additional criteria on an existing query and
doesnt execute that query until in is used in the view. So the above
statement gets baked into the previous default query @widgets =
Widget.all(:order => [ :name.asc ]).
I'd just like to write a test that confirms the controller is in fact
calling @widgets.by_alpha(params[:alpha]) when the params[:alpha] is
present.
Here is the code again so you don't have to scroll to see it
def index
@widgets = Widget.all(:order => [ :name.asc ])
if params[:alpha]
@widgets = @widgets.by_alpha(params[:alpha])
elsif params[:beta]
@widgets = @widgets.by_beta(params[:beta])
end
end
Just to recap, this code is valid and works, I just don't know how to write
a test for it.
Cheers,
Sid
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20110318/699e39d2/attachment.html>
More information about the rspec-users
mailing list