[rspec-users] possible to stub params hash ?

Andrea Jahn anja-email1 at web.de
Thu Apr 9 09:48:55 EDT 2009



Hi,

I tried to stub the params method of the Controller because
I got the error " You have a nil object when you didn't expect it!"
for the access to params[:pl_planning]["item_model_version_id"] 
in the update action.

I thought, that the stubbing is not working because of the following error:
"undefined method `scope=' for #<Searchlogic::Cache::PlPlanningSearch:0x6aa14cc>".

But now I found out, that this error has another reason.
The put :update does not call the update action, it calls the index action.
I will post another email for that problem to the user group.

Thanks
Andrea

*Von:* "Scott Taylor" <scott at railsnewbie.com>
*Gesendet:* 08.04.09 17:46:31
*An:* rspec-users <RSPEC-USERS at RUBYFORGE.ORG>
*Betreff:* Re: [rspec-users] possible to stub params hash ?


On Apr 8, 2009, at 11:09 AM, Andrea Jahn wrote:

 

Hi,

I added one line in my controller to extend the params hash. But now I get errors
in my controller spec.

Controller

 def update
 @pl_planning = PlPlanning.find(params[:id])

 # the item model version (select box) depends on other select boxes and can be empty
 # then it is not in the params hash and the attribute would not be updated and validated
--> params[:pl_planning]["item_model_version_id"] ||= ""

 # update planning attributes
 @pl_planning.attributes = params[:pl_planning] 
 ...


Controller Spec error:

You have a nil object when you didn't expect it!
You might have expected an i nstance of ActiveRecord::Base.
The error occurred while evaluating nil.[]


What do I have to add in my spec for that ?

I tried:

 params = {"pl_planning" => {}}
 controller.stub!(:params).and_return(params)

But then I get the following error:

undefined method `scope=' for #<Searchlogic::Cache::PlPlanningSearch:0x6aa14cc>
Usually you are will fare better if you pass the params directly in:
get :foo, :param1 => "something"
Why are you stubbing params?
Scott



Thanks in advance
Andrea
 


	
Verschicken Sie SMS direkt vom Postfach aus - in alle deutschen und viele 
ausländische Netze zum gleichen Preis! 
https://produkte.web.de/webde_sms/sms [https://produkte.web.de/webde_sms/sms] 
 
 _______________________________________________
rspec-users mailing list
rspec-users at rubyforge.org [mailto:rspec-users at rubyforge.org]
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________rspec-users mailing listrspec-users at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users	



	
GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! 
Jetzt freischalten unter *http://movieflat.web.de* [http://movieflat.web.de] 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20090409/17ed2fab/attachment-0001.html>


More information about the rspec-users mailing list