[rspec-users] cucumber/webrat, need to set user in session, can't stub or mock. Fixtures?
zach.dennis at gmail.com
Mon Apr 27 17:34:12 EDT 2009
On Mon, Apr 27, 2009 at 5:24 PM, doug livesey <biot023 at gmail.com> wrote:
> Refactoring the current_user method a little, then stubbing the find method
> in there did it.
> # ApplicationController
> def current_user
> User.find( session[:user_id] ) rescue nil
> # Scenario step
> Given /^that a user is logged in to the session$/ do
> User.stub!( :find ).and_return( true )
You probably want to return a User, no? Returning true is entirely
different than the normal find API w/ActiveRecord. It seems to be
misleading and I can see where it would cause problems where
controller or view code that relies on #current_user expects a User,
> 2009/4/27 doug livesey <biot023 at gmail.com>
>> Except I'm now struggling with how it should work, sorry.
>> The step for the scenario looks like this:
>> Given /^that a user is logged in to the session$/ do
>> controller.stub!( :current_user ).and_return( true )
>> However, when I try to puts the value of current_user as called from the
>> ApplicationController#authorise method, it returns nil.
>> I've tried just stubbing out the authorise method, too, but that doesn't
>> seem to work, either.
>> Am I approaching this the wrong way?
>> & cheers again,
>> 2009/4/27 doug livesey <biot023 at gmail.com>
>>> & that nailed it, cheers man!
>>> 2009/4/27 doug livesey <biot023 at gmail.com>
>>>> > Please be sure to clip the relevant parts when responding - "all of
>>>> > that" is only meaningful if I look at the other email in this thread.
>>>> > Easy on my desk top. Not so easy on my phone.
>>>> Bit too used to gmail threads, sorry!
> rspec-users mailing list
> rspec-users at rubyforge.org
http://www.mutuallyhuman.com (hire me)
More information about the rspec-users