This reinstates the form tests in the controller test, but uses
the system tests to actually click the button and make sure that
it works
assert_redirected_to "/test"
end
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
def test_logout_with_token
token = create(:user).tokens.create
test "Sign out via link" do
user = create(:user)
sign_in_as(user)
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
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))
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"
visit logout_path
assert page.has_content? "Logout from OpenStreetMap"
click_button "Logout"
assert page.has_content? "Log In"
end
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