hi all, I googled a bit and tried looking up several rails books to no success. I have a users.yml file which contains two users: one with admin priviledges and one without My application_controller.rb has a method which checks if a given user has admin priviledges or not. I have 3 controllers: Users, UserSessions and Post. I am using Authlogic. For my Post functional tests, I would like to know how do I log each user fixture in and test as accordingly (ie some parts of the site should not be accessible by non-admin users). Thank you.
ashchan
2009-Sep-18 14:57 UTC
Re: testing - how do i log in different users and have tests done?
Why not try the famous restful_authentication plugin? Then in your test_helper.rb add this line: include AuthenticatedTestSystem Now you''ll have a login_as method, which will do what you need. -- James Chen http://ashchan.com On Sep 18, 3:45 pm, ct9a <anexi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> hi all, > > I googled a bit and tried looking up several rails books to no > success. > > I have a users.yml file which contains two users: one with admin > priviledges and one without > > My application_controller.rb has a method which checks if a given > user has admin priviledges or not. > > I have 3 controllers: Users, UserSessions and Post. > I am using Authlogic. > > For my Post functional tests, I would like to know how do I log each > user fixture in and test as accordingly (ie some parts of the site > should not be accessible by non-admin users). > > Thank you.
Colin Law
2009-Sep-18 15:10 UTC
Re: testing - how do i log in different users and have tests done?
2009/9/18 ct9a <anexiole-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>:> > hi all, > > I googled a bit and tried looking up several rails books to no > success. > > I have a users.yml file which contains two users: one with admin > priviledges and one without > > My application_controller.rb has a method which checks if a given > user has admin priviledges or not. > > I have 3 controllers: Users, UserSessions and Post. > I am using Authlogic. > > > For my Post functional tests, I would like to know how do I log each > user fixture in and test as accordingly (ie some parts of the site > should not be accessible by non-admin users). > > > Thank you.I use restful authentication rather than authlogic but I imagine the principle is the same in that you need to setup the session for the test as if the user was logged in. The testing rails guide at http://guides.rubyonrails.org/testing.html has a bit on this. For example one of my tests has: get :show, {:id => some_id}, { :user_id => users(:colin).id } which sets user_id in the session to the appropriate value as if I were logged in. In fact I think there is a alternative way of setting the session in the test setup, so it does not need to be added to every action, but I forget what it is at the moment. Colin
ct9a
2009-Nov-05 04:25 UTC
Re: testing - how do i log in different users and have tests done?
anyone who''s using Authlogic and got a solution for creating tests (that can auto login)?
Scott Johnson
2009-Nov-05 18:17 UTC
Re: testing - how do i log in different users and have tests done?
I started with this blog post: http://iain.nl/2008/11/authlogic-is-awesome/ On Nov 4, 8:25 pm, ct9a <anexi...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> anyone who''s using Authlogic and got a solution for creating tests > (that can auto login)?
Marnen Laibow-Koser
2009-Nov-05 18:29 UTC
Re: testing - how do i log in different users and have tests
ct9a wrote:> anyone who''s using Authlogic and got a solution for creating tests > (that can auto login)?Check out the specs and Cucumber features for Quorum ( http://github.com/marnen/quorum2 ). Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/.