[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])

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

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


Any assistance would be greatly appreciated.

Kind regards,

-------------- 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