1 # frozen_string_literal: true
3 require "application_system_test_case"
5 class UserLoginTest < ApplicationSystemTestCase
6 test "Warn on login page when already logged in" do
7 user1 = create(:user, :display_name => "First User")
8 user2 = create(:user, :display_name => "Second User")
13 assert_button "First User"
14 within_content_body do
15 assert_text "logged in as First User"
16 assert_no_link "Visit referring page"
19 fill_in "username", :with => user2.email
20 fill_in "password", :with => "test"
23 assert_button "Second User"
26 test "Warn on login page when already logged in with referer link" do
27 user1 = create(:user, :display_name => "First User")
30 visit login_path(:referer => copyright_path, :anchor => "trademarks")
32 assert_button "First User"
33 within_content_body do
34 assert_text "logged in as First User"
35 assert_link "Visit referring page"
37 click_on "Visit referring page"
40 assert_current_path copyright_path
41 assert_equal "#trademarks", execute_script("return location.hash")
44 test "Only show safe referer links inside warnings" do
45 user1 = create(:user, :display_name => "First User")
48 visit login_path(:referer => "https://example.com/")
50 assert_button "First User"
51 within_content_body do
52 assert_text "logged in as First User"
53 assert_no_link "Visit referring page"