[rspec-users] cucumber/webrat, need to set user in session, can't stub or mock. Fixtures?

Zach Dennis 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
> end
>
> # Scenario step
> Given /^that a user is logged in to the session$/ do
>   User.stub!( :find ).and_return( true )
> end

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,


>
> Cheers,
>    Doug.
>
> 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 )
>> end
>>
>> 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,
>>    Doug.
>>
>> 2009/4/27 doug livesey <biot023 at gmail.com>
>>>
>>> & that nailed it, cheers man!
>>>    Doug.
>>>
>>> 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!
>>>>    Doug.
>>>
>>
>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>



-- 
Zach Dennis
http://www.continuousthinking.com (personal)
http://www.mutuallyhuman.com (hire me)
@zachdennis (twitter)


More information about the rspec-users mailing list