Initial commit
This commit is contained in:
75
spec/features/user_sign_in_spec.rb
Normal file
75
spec/features/user_sign_in_spec.rb
Normal file
@@ -0,0 +1,75 @@
|
||||
require "rails_helper"
|
||||
|
||||
feature "User" do
|
||||
let(:user) { create(:user, :with_name, email: "test@example.com") }
|
||||
let!(:project) { create(:project, account: user.primary_account, name: "My Video Project") }
|
||||
|
||||
context "when signing in" do
|
||||
scenario "is redirected on success" do
|
||||
visit "/"
|
||||
|
||||
fill_in "Email", with: "test@example.com"
|
||||
fill_in "Password", with: "password"
|
||||
check "Remember me"
|
||||
|
||||
click_button "Sign In"
|
||||
|
||||
expect(page).to have_content "My Video Project"
|
||||
end
|
||||
|
||||
scenario "signing out" do
|
||||
sign_in user
|
||||
|
||||
visit signed_in_root_path
|
||||
click_on user.full_name
|
||||
|
||||
click_link "Sign Out"
|
||||
|
||||
expect(page).to have_content "Sign In"
|
||||
end
|
||||
end
|
||||
|
||||
context "when signed in and accountless" do
|
||||
before :each do
|
||||
sign_in(create(:user, :accountless))
|
||||
end
|
||||
|
||||
scenario "goes to accountless information page" do
|
||||
visit signed_in_root_path
|
||||
expect(page).to have_content /You are signed in but not added to an account/
|
||||
end
|
||||
end
|
||||
|
||||
context "when signed in" do
|
||||
before :each do
|
||||
sign_in(user)
|
||||
end
|
||||
|
||||
scenario "sees 404 page when navigating to unknown url" do
|
||||
expect { visit "/foo" }.to raise_exception(ActionController::RoutingError)
|
||||
end
|
||||
|
||||
scenario "gets redirected to project page when navigating to sessions url" do
|
||||
visit new_session_path
|
||||
expect(page).to have_content user.primary_account.name
|
||||
end
|
||||
|
||||
scenario "sees project page when navigating to known url" do
|
||||
visit project_path(project)
|
||||
|
||||
expect(page).to have_content "My Video Project"
|
||||
end
|
||||
end
|
||||
|
||||
context "when not signed in" do
|
||||
scenario "gets redirected to sign in path when navigating to unknown url" do
|
||||
expect { visit "/en/foo" }.to raise_exception(ActionController::RoutingError)
|
||||
end
|
||||
|
||||
scenario "gets redirected to sign in path when navigating to known url" do
|
||||
visit project_path(project)
|
||||
|
||||
expect(page.current_path).to eq "/en/session/new"
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user