On Thu, Mar 8, 2012 at 10:38 PM, David Chelimsky <dchelim...@gmail.com> wrote: > 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
Where #sign_in_as and #login_as in David's example should be the same method. Zach > > HTH, > David > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users -- -- @zachdennis http://www.continuousthinking.com http://www.mutuallyhuman.com _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users