Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a post link to logout #2496

Merged
merged 2 commits into from Jan 9, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
14 changes: 14 additions & 0 deletions test/controllers/users_controller_test.rb
Expand Up @@ -355,6 +355,20 @@ def test_logout_with_referer
assert_redirected_to "/test"
end

def test_logout_fallback_without_referer
get :logout
assert_response :success
assert_template :logout
assert_select "input[name=referer][value=?]", ""
end

def test_logout_fallback_with_referer
get :logout, :params => { :referer => "/test" }
assert_response :success
assert_template :logout
assert_select "input[name=referer][value=?]", "/test"
end

def test_logout_with_token
token = create(:user).tokens.create

Expand Down
26 changes: 26 additions & 0 deletions test/system/user_logout_test.rb
Expand Up @@ -4,19 +4,45 @@ class UserLogoutTest < ApplicationSystemTestCase
test "Sign out via link" do
user = create(:user)
sign_in_as(user)
assert_not page.has_content? "Log In"

click_on user.display_name
click_on "Log Out"
assert page.has_content? "Log In"
end

test "Sign out via link with referer" do
user = create(:user)
sign_in_as(user)
visit traces_path
assert_not page.has_content? "Log In"

click_on user.display_name
click_on "Log Out"
assert page.has_content? "Log In"
assert page.has_content? "Public GPS traces"
end

test "Sign out via fallback page" do
sign_in_as(create(:user))
assert_not page.has_content? "Log In"

visit logout_path
assert page.has_content? "Logout from OpenStreetMap"

click_button "Logout"
assert page.has_content? "Log In"
end

test "Sign out via fallback page with referer" do
sign_in_as(create(:user))
assert_not page.has_content? "Log In"

visit logout_path(:referer => "/traces")
assert page.has_content? "Logout from OpenStreetMap"

click_button "Logout"
assert page.has_content? "Log In"
assert page.has_content? "Public GPS traces"
end
end