Further to this, here is what I am currently doing.
I installed the seed-fu plugin and wrote a method in my env.rb file like
this:

#
# Load fixtures by tableised names.
#
def seed_fixtures( *fixtures )
  ActiveRecord::Base.establish_connection(
ActiveRecord::Base.configurations['test'] )
  ActiveRecord::Schema.verbose = false

  fixtures.each do |fixture|
    load( File.join( RAILS_ROOT, "db/fixtures/test", "#{ fixture }.rb" ) )
  end
end

So in any Given that requires my fixtures, I can call "seed_fixture
:my_first_models, :my_second_models" to load up anything I need for my
cucumber steps.
And the examle above called "seed_fixtures :users", and returned a user, not
just a true value.
Cheers,
   Doug.

2009/4/27 doug livesey <biot...@gmail.com>

> Yeah, I take your point, but I would need to set that up with fixtures,
> wouldn't I?
> & really I guess I should be seeding the session with a User id & letting
> all of the code do its work, not just stubbing the find method on
> ActiveRecord.
> I'll have a think on it -- for the moment it's quick & uncomplicated, and I
> think that current_user returning true is fairly self-explanatory -- maybe
> returning :a_logged_in_user would be less evil.
> & my attitude there might have more to do with the time here being a
> half-hour off of midnight than conscientiousness! ;)
>    Doug.
>
> 2009/4/27 Zach Dennis <zach.den...@gmail.com>
>
> On Mon, Apr 27, 2009 at 5:24 PM, doug livesey <biot...@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 <biot...@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 <biot...@gmail.com>
>> >>>
>> >>> & that nailed it, cheers man!
>> >>>    Doug.
>> >>>
>> >>> 2009/4/27 doug livesey <biot...@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@rubyforge.org
>> > http://rubyforge.org/mailman/listinfo/rspec-users
>> >
>>
>>
>>
>> --
>> Zach Dennis
>> http://www.continuousthinking.com (personal)
>> http://www.mutuallyhuman.com (hire me)
>> @zachdennis (twitter)
>> _______________________________________________
>> 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

Reply via email to