[rspec-users] Controller Spec & DataMapper Chaining

Sid Wood sidwood2 at gmail.com
Fri Mar 18 10:26:10 EDT 2011


Hi there,

I'm fairly new to RSpec, and DataMapper and I'm trying to write a controller
spec for an index action that will include DM query chaining.

Here is a very simplified version of the Controller#index I'm working on


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

I'm trying to write a spec for this and I'm struggling. It feels like it'll
be something uber simple but I'm just not getting it.

describe "GET 'index'" do
  it "should be successful" do
    get :index
    response.should be_success
  end

  it "assigns all widgets as @widgets" do
    widgets = [Factory.stub(:widget), Factory.stub(:widget)]
    Widget.stub(:all) { [widgets] }
    get :index
    assigns(:widgets).should == [widgets]
  end

  #...
end

Any assistance would be greatly appreciated.

Kind regards,

Sid
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20110318/3fb9566b/attachment.html>


More information about the rspec-users mailing list