1 require "application_system_test_case"
3 class UserLoginTest < ApplicationSystemTestCase
4 test "Warn on login page when already logged in" do
5 user1 = create(:user, :display_name => "First User")
6 user2 = create(:user, :display_name => "Second User")
11 assert_button "First User"
12 within_content_body do
13 assert_text "logged in as First User"
14 assert_no_link "Visit referring page"
17 fill_in "username", :with => user2.email
18 fill_in "password", :with => "test"
21 assert_button "Second User"
24 test "Warn on login page when already logged in with referer link" do
25 user1 = create(:user, :display_name => "First User")
28 visit login_path(:referer => copyright_path, :anchor => "trademarks")
30 assert_button "First User"
31 within_content_body do
32 assert_text "logged in as First User"
33 assert_link "Visit referring page"
35 click_on "Visit referring page"
38 assert_current_path copyright_path
39 assert_equal "#trademarks", execute_script("return location.hash")
42 test "Only show safe referer links inside warnings" do
43 user1 = create(:user, :display_name => "First User")
46 visit login_path(:referer => "https://example.com/")
48 assert_button "First User"
49 within_content_body do
50 assert_text "logged in as First User"
51 assert_no_link "Visit referring page"
55 test "Show OpenID form when OpenID provider button is clicked" do
58 within_content_body do
59 assert_no_field "OpenID URL"
60 assert_no_button "Continue"
62 click_on "Log in with OpenID"
64 assert_field "OpenID URL"
65 assert_button "Continue"