[rspec-users] How to test the assignment of current_user
Vinícius Baggio Fuentes
vinibaggio at gmail.com
Mon Jun 7 18:50:00 EDT 2010
Oh yes, forgot to add that, if you do self.current_user = user, it will call
your mock as expected.
Sorry for the multitude of emails.
2010/6/7 Vinícius Baggio Fuentes <vinibaggio at gmail.com>
> If current_user is an instance variable (as if you did attr_accessor
> :current_user), you should try:
> @current_user = @user
> If not, you should try invoking with self:
> self.current_user = @user
> because ruby is creating a local variable named current_user instead of
> invoking #current_user=. When you do call self, which refers to the object
> itself, it will use normal method lookup, that will find your
> On Mon, Jun 7, 2010 at 6:43 PM, Marcelo de Moraes Serpa <
> celoserpa at gmail.com> wrote:
>> This could be rephrased as -- How to test calls of special assigment
>> (setter) methods?
>> I am trying to test the assigmnet of a user object to the
>> current_user=(new_user) method. It is part of an authentication process and
>> finally the object is assigned to the session through this method. I have
>> post :create, @params
>> And the output is:
>> expected :current_user= with (#<User id: 605 <.... snip ...> ) once, but
>> received it 0 times
>> I do not understand, since current_user=(new_user) is actually being
>> called by the controller:
>> def create
>> current_user = @user
>> Why's that?
>> rspec-users mailing list
>> rspec-users at rubyforge.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rspec-users