Files
old-holivud2/spec/features/user_sign_in_spec.rb
2020-05-31 22:38:19 +02:00

76 lines
1.9 KiB
Ruby

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