Thank you in advance for your help. I am relatively new to both Rails and Rspec and I am hoping for some insight from some experienced veterans.
Right now I am using Rspec for code that has already been written so that additional functionality can be developed using the BDD method. My problem shows up when I try to spec controllers that are behind the login system. Each page checks for the session[:user], and if they do not exists, requires them to login. Logging in is handled by one controller (the Admin controller) and I want to access a page under another controller (say a Students controller). In my students_controller_spec.rb, I want want to make sure http://test.host/students is successfully displayed, so I wrote something like: it "should be successful" do get :index response.should be_success end The problem is that is keeps redirecting to my login page at http://test.host/login. I tried then setting session[:user] and doing a post to my login page to simulate a login so that I could access the correct page, but that does not seem to work. I tried a number of things, including the following: def do_login @user = User.find(:first, :conditions => ['username = ?' , 'ryan'] ) session[:user] = @user.id post :login, :path => [] end describe StudentsController do it "should be successful" do do_login get :index response.should be_success end end This still results in being redirected to the login page at http://test.host/login when I want to go to http://test.host/students. Also, I realize I am actually doing a call on my test database for this. Part of the reason is that code that called during login checks fields of a user. The other reason is I could not get it to work using stubs, but that might just have been because I was not using them properly. Any insight will be helpful, thanks! -Ryan _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users