On Thu, Mar 8, 2012 at 5:15 PM, S Ahmed <sahmed1...@gmail.com> wrote: > In my authenticate_pages.spec (requests) I do the following to test if the > signin worked: > > describe "with valid information" do > #let(:account) { FactoryGirl.create(:account) } > let(:user) { FactoryGirl.create(:user) } > > before do > fill_in "Email", with: user.email > fill_in "Password", with: user.password > click_button "Sign in" > end > > it { should have_link('Sign out', href: signout_path) } > it { should_not have_link('Sign in', href: signin_path) } > end > > > Now in my other controllers that assume the user is signed in, how can I > refactor this and put it somewhere that I can just call to make the user > signed in so I can test pages that assume the user is already signed in?
Here's one pattern I've seen (and used): def login_as(user) fill_in "Email", with: user.email fill_in "Password", with: user.password click_button "Sign in" end describe "things" do before { sign_in_as(FactoryGirl.create:(user) } describe "GET /thing" do # ... end end HTH, David _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users