Ryan Tucker wrote: > 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 > [email protected] > http://rubyforge.org/mailman/listinfo/rspec-users > Forgot one thing.
In trying to do the post, I get the error that "No action responded to login" suggesting that I am not properly accessing the login function in my Admin controller. Thanks again, Ryan _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
