We have used shared contexts to achieve this.
https://www.relishapp.com/rspec/rspec-core/docs/example-groups/shared-context
For controller specs using devise, assuming we have let(:current_user)
in the test including this shared context:
shared_context :signed_in do
before do
sign_in(current_user)
controller.stub!(:current_user).and_return(current_user)
end
end
On Thu, Mar 8, 2012 at 6:15 PM, S Ahmed <[email protected]> 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?
>
>
>
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users