[rspec-users] rspec will_paginate
Andrew WC Brown
omen.king at gmail.com
Thu Jun 14 15:30:42 EDT 2007
Hi Rspec-Users,
I'm not sure if I am correctly specing my index since I'm using
will_paginate.
params[:filter_by] will filter the paginate list accordingly.
Tickets Controller:
def index
@tickets = Ticket.filter_status_by(params[:filter_by],params[:page])
end
Ticket Model:
def self.filter_status_by(status, page, per_page = 10)
conditions = {:status => false} if status == "unsolved"
conditions = {:status => true} if status == "solved"
return Ticket.paginate(:page => page, :per_page => per_page, :conditions
=> conditions)
end
describe TicketsController, "handling GET /tickets" do
before do
@tickets = mock_model(Ticket)
Ticket.stub!(:find).and_return([@ticket])
end
def do_get
get :index
end
it "should be successful" do
do_get
response.should be_success
end
it "should render index template" do
do_get
response.should render_template('index')
end
it "should find all pagniated tickets" do
@tickets = Ticket.paginate :per_page => 10
Ticket.should_receive(:filter_status_by).with(nil,nil).and_return(@tickets)
do_get
end
it "should find solved pagniated tickets" do
@tickets = Ticket.paginate :per_page => 10, :conditions => {:status =>
true}
Ticket.should_receive(:filter_status_by).with('solved',nil).and_return(@tickets)
get :index, :filter_by => 'solved'
end
it "should find unsolved pagniated tickets" do
@tickets = Ticket.paginate :per_page => 10, :conditions => {:status =>
false}
Ticket.should_receive(:filter_status_by).with('unsolved',nil).and_return(@tickets)
get :index, :filter_by => 'unsolved'
end
it "should assign the found tickets for the view" do
do_get
assigns[:tickets].should == [@tickets]
end
end
1)
'TicketsController handling GET /tickets should assign the found tickets for
the view' FAILED
expected [#<Ticket:0x1aa340c @name="Ticket_1000">], got [nil] (using ==)
./spec/controllers/tickets_controller_spec.rb:71:
script/spec:4:
Finished in 0.207992 seconds
13 examples, 1 failure
Any suggestions or criticisms about my rspec?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/rspec-users/attachments/20070614/e421636a/attachment.html
More information about the rspec-users
mailing list