[rspec-users] Need help mocking this out

Stefan Magnus Landrø stefan.landro at gmail.com
Mon Dec 3 06:50:15 EST 2007


Well, if articles is already scoped, you just say:

user.should_receive('articles').and_return(some_articles)

To make sure your articles method is scoped, write a model test that hits
the database, and verify that only the user's articles are returned.

As Daniel Tenner says, you should try to keep your controllers as thin as
possible. In addition you should try to keep your tests as fast as possible
- and you typically do that by not hitting the DB.

Stefan

2007/12/3, Fischer, Daniel <me at danielfischer.com>:
>
> yuck, that seems kind of nasty, no?
> user.articles is already scoped...
>
> There has to be a different solution!
>
> On Dec 3, 2007 2:07 AM, Stefan Magnus Landrø <stefan.landro at gmail.com>
> wrote:
>
> > Typically, I'd write a method in your user model that returns the user's
> > articles:
> >
> > class User do
> >
> >   def find_articles_for_user
> >    Article.find(:all, :conditions => ['userid = ?', id)
> >   end
> >
> > end
> >
> > Then you'd use a mock in your controller spec, and make sure you test
> > that your method is being called.
> >
> > On the other hand, the user model should be tested directly against the
> > db.
> >
> > HTH,
> >
> > Stefan
> >
> > 2007/12/3, Fischer, Daniel <daniel at helpmebuyacar.org>:
> > >
> > >  Let's say you're using the restful_authentication plugin.
> > > You have a model called articles. On the index action of the
> > > articlescontroller you simply want to spec out that it'll scope the results
> > > to the ownership of the current_user.
> > >
> > > It should NOT include any articles other than the articles that user
> > > owns.
> > >
> > > How would you properly spec this out?
> > >
> > > Thanks for the help!
> > >
> > > _______________________________________________
> > > rspec-users mailing list
> > > rspec-users at rubyforge.org
> > > http://rubyforge.org/mailman/listinfo/rspec-users
> > >
> >
> >
> >
> > --
> > Bekk Open Source
> > http://boss.bekk.no
> > _______________________________________________
> > rspec-users mailing list
> > rspec-users at rubyforge.org
> > http://rubyforge.org/mailman/listinfo/rspec-users
> >
>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>



-- 
Bekk Open Source
http://boss.bekk.no
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/rspec-users/attachments/20071203/9cb5dd5a/attachment-0001.html 


More information about the rspec-users mailing list