]> git.openstreetmap.org Git - rails.git/blob - test/system/dashboard_test.rb
Add frozen_string_literal comments to ruby files
[rails.git] / test / system / dashboard_test.rb
1 # frozen_string_literal: true
2
3 require "application_system_test_case"
4
5 class DashboardSystemTest < ApplicationSystemTestCase
6   test "show no users if have no followings" do
7     user = create(:user)
8     sign_in_as(user)
9
10     visit dashboard_path
11     assert_text "You have not followed any user yet."
12   end
13
14   test "show users if have friends" do
15     user = create(:user, :home_lon => 1.1, :home_lat => 1.1)
16     friend_user = create(:user, :home_lon => 1.2, :home_lat => 1.2)
17     create(:follow, :follower => user, :following => friend_user)
18     create(:changeset, :user => friend_user)
19     sign_in_as(user)
20
21     visit dashboard_path
22     assert_no_text "You have not followed any user yet."
23
24     friends_heading = find :element, "h2", :text => "Users you follow"
25     others_heading = find :element, "h2", :text => "Other nearby users"
26
27     assert_link friend_user.display_name, :below => friends_heading, :above => others_heading
28   end
29
30   test "show nearby users with ability to follow" do
31     user = create(:user, :home_lon => 1.1, :home_lat => 1.1)
32     nearby_user = create(:user, :home_lon => 1.2, :home_lat => 1.2)
33     sign_in_as(user)
34
35     visit dashboard_path
36
37     within_content_body do
38       others_nearby_heading = find :element, "h2", :text => "Other nearby users"
39
40       assert_no_text "There are no other users who admit to mapping nearby yet"
41       assert_link nearby_user.display_name, :below => others_nearby_heading
42       assert_link "Follow", :below => others_nearby_heading
43
44       click_on "Follow"
45
46       followings_heading = find :element, "h2", :text => "Users you follow"
47       others_nearby_heading = find :element, "h2", :text => "Other nearby users"
48
49       assert_text "There are no other users who admit to mapping nearby yet"
50       assert_link nearby_user.display_name, :below => followings_heading, :above => others_nearby_heading
51       assert_link "Unfollow", :below => followings_heading, :above => others_nearby_heading
52     end
53   end
54
55   test "show map with home marker if home location is set" do
56     user = create(:user, :display_name => "Fred Tester", :home_lon => 1.1, :home_lat => 1.1)
57     sign_in_as(user)
58
59     visit dashboard_path
60
61     within "#map" do
62       assert_no_text "Your location"
63       assert_no_link "Fred Tester"
64
65       find(".leaflet-marker-icon").click
66
67       assert_text "Your location"
68       assert_link "Fred Tester"
69
70       click_on "Fred Tester"
71     end
72
73     assert_current_path user_path(user)
74   end
75 end