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
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to