Re: [rspec-users] rescue

2008-03-19 Thread Jonathan Linowes
yep, that did it :)

thx

On Mar 18, 2008, at 11:50 PM, Zach Dennis wrote:

 On Tue, Mar 18, 2008 at 11:13 PM, linojon [EMAIL PROTECTED] wrote:
 Hi, whats the correct way to spec a rescue? This will raise it but  
 doesnt
 test my code's response



 # controller

   def edit
 @foo = Foo.find(params[:id])
   rescue
 flash[:notice] = Unknown foo #{params[:id]}
 redirect_to foos_path
   end


 # spec

   it should flash error if not found do
 Foo.should_receive(:find).and_raise
 get :edit, :id = '1'
 flash[:notice].should == Unknown foo 1
   end

 # run

 Exception in...



 I have done a very similar thing:

Foo.should_receive(:find).and_raise ActiveRecord::ActiveRecordError

 and then change your rescue to handle ActiveRecord::ActiveRecordError.

 If you get to the point where you have a generic way you'd like to
 handle the exceptions in a controller, or across controllers look into
 using the controller class method rescue_from.

 I'm not 100% this is what you were asking, hopefully you were just
 looking for confirmation,

 -- 
 Zach Dennis
 http://www.continuousthinking.com
 ___
 rspec-users mailing list
 rspec-users@rubyforge.org
 http://rubyforge.org/mailman/listinfo/rspec-users

___
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users


[rspec-users] rescue

2008-03-18 Thread linojon
Hi, whats the correct way to spec a rescue? This will raise it but  
doesnt test my code's response



# controller

  def edit
@foo = Foo.find(params[:id])
  rescue
flash[:notice] = Unknown foo #{params[:id]}
redirect_to foos_path
  end


# spec

  it should flash error if not found do
Foo.should_receive(:find).and_raise
get :edit, :id = '1'
flash[:notice].should == Unknown foo 1
  end

# run

Exception in...


___
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Re: [rspec-users] rescue

2008-03-18 Thread Zach Dennis
On Tue, Mar 18, 2008 at 11:13 PM, linojon [EMAIL PROTECTED] wrote:
 Hi, whats the correct way to spec a rescue? This will raise it but doesnt
 test my code's response



 # controller

   def edit
 @foo = Foo.find(params[:id])
   rescue
 flash[:notice] = Unknown foo #{params[:id]}
 redirect_to foos_path
   end


 # spec

   it should flash error if not found do
 Foo.should_receive(:find).and_raise
 get :edit, :id = '1'
 flash[:notice].should == Unknown foo 1
   end

 # run

 Exception in...



I have done a very similar thing:

   Foo.should_receive(:find).and_raise ActiveRecord::ActiveRecordError

and then change your rescue to handle ActiveRecord::ActiveRecordError.

If you get to the point where you have a generic way you'd like to
handle the exceptions in a controller, or across controllers look into
using the controller class method rescue_from.

I'm not 100% this is what you were asking, hopefully you were just
looking for confirmation,

-- 
Zach Dennis
http://www.continuousthinking.com
___
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users