]> git.openstreetmap.org Git - rails.git/blob - test/system/user_login_test.rb
Add frozen_string_literal comments to ruby files
[rails.git] / test / system / user_login_test.rb
1 # frozen_string_literal: true
2
3 require "application_system_test_case"
4
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")
9     sign_in_as(user1)
10
11     visit login_path
12
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"
17     end
18
19     fill_in "username", :with => user2.email
20     fill_in "password", :with => "test"
21     click_on "Log in"
22
23     assert_button "Second User"
24   end
25
26   test "Warn on login page when already logged in with referer link" do
27     user1 = create(:user, :display_name => "First User")
28     sign_in_as(user1)
29
30     visit login_path(:referer => copyright_path, :anchor => "trademarks")
31
32     assert_button "First User"
33     within_content_body do
34       assert_text "logged in as First User"
35       assert_link "Visit referring page"
36
37       click_on "Visit referring page"
38     end
39
40     assert_current_path copyright_path
41     assert_equal "#trademarks", execute_script("return location.hash")
42   end
43
44   test "Only show safe referer links inside warnings" do
45     user1 = create(:user, :display_name => "First User")
46     sign_in_as(user1)
47
48     visit login_path(:referer => "https://example.com/")
49
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"
54     end
55   end
56 end