1 # frozen_string_literal: true
 
   3 require "application_system_test_case"
 
   5 class DashboardSystemTest < ApplicationSystemTestCase
 
   6   test "show no users if have no followings" do
 
  11     assert_text "You have not followed any user yet."
 
  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)
 
  22     assert_no_text "You have not followed any user yet."
 
  24     friends_heading = find :element, "h2", :text => "Users you follow"
 
  25     others_heading = find :element, "h2", :text => "Other nearby users"
 
  27     assert_link friend_user.display_name, :below => friends_heading, :above => others_heading
 
  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)
 
  37     within_content_body do
 
  38       others_nearby_heading = find :element, "h2", :text => "Other nearby users"
 
  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
 
  46       followings_heading = find :element, "h2", :text => "Users you follow"
 
  47       others_nearby_heading = find :element, "h2", :text => "Other nearby users"
 
  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
 
  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)
 
  62       assert_no_text "Your location"
 
  63       assert_no_link "Fred Tester"
 
  65       find(".leaflet-marker-icon").click
 
  67       assert_text "Your location"
 
  68       assert_link "Fred Tester"
 
  70       click_on "Fred Tester"
 
  73     assert_current_path user_path(user)