Created
April 20, 2011 11:45
-
-
Save fabn/931077 to your computer and use it in GitHub Desktop.
Devise auth spec
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'spec_helper' | |
require 'capybara/rails' | |
describe "Authentication" do | |
describe "when logged in" do | |
before(:each) do | |
@editor = Factory(:editor, :password => 'secret') | |
visit '/' | |
fill_in 'Login', :with => @editor.login | |
fill_in 'Password', :with => 'secret' | |
click_button 'Sign in' | |
page.should have_content('Signed in successfully.') | |
end | |
it "getting / should render publication page with no redirection" do | |
visit '/' | |
page.should_not have_content('Login') | |
page.should have_content('Publications') | |
# assert that there is no redirection | |
page.current_path.should == '/' | |
end | |
it "visits the sign_in page should redirect to /" do | |
visit '/editors/sign_in' | |
page.should have_content('Publications') | |
page.current_path.should == '/' | |
end | |
end | |
describe "when not logged in" do | |
it "getting / should not display the sign in warning" do | |
visit '/' | |
# I want to get rid of this behavior | |
page.should_not have_content('You need to sign in or sign up before continuing.') | |
end | |
it "getting / should not redirect to the sign_in default page" do | |
visit '/' | |
page.should have_content('Login') | |
# assert that there is no redirection | |
page.current_path.should == '/' | |
end | |
it "getting the the sign_in default path works" do | |
visit '/editors/sign_in' | |
page.should have_content('Login') | |
page.current_path.should == '/editors/sign_in' | |
end | |
it "login works and redirect me to the publications page (with /)" do | |
@editor = Factory(:editor, :password => 'secret') | |
visit '/' | |
fill_in 'Login', :with => @editor.login | |
fill_in 'Password', :with => 'secret' | |
click_button 'Sign in' | |
page.should have_content('Signed in successfully.') | |
page.current_path.should == '/' | |
page.should have_content('Publications') | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment