openstreetmap-website/test/system/dashboard_test.rb

52 lines
1.9 KiB
Ruby

require "application_system_test_case"
class DashboardSystemTest < ApplicationSystemTestCase
test "show no users if have no followings" do
user = create(:user)
sign_in_as(user)
visit dashboard_path
assert_text "You have not followed any user yet."
end
test "show users if have friends" do
user = create(:user, :home_lon => 1.1, :home_lat => 1.1)
friend_user = create(:user, :home_lon => 1.2, :home_lat => 1.2)
create(:follow, :follower => user, :following => friend_user)
create(:changeset, :user => friend_user)
sign_in_as(user)
visit dashboard_path
assert_no_text "You have not followed any user yet."
friends_heading = find :element, "h2", :text => "Followings"
others_heading = find :element, "h2", :text => "Other nearby users"
assert_link friend_user.display_name, :below => friends_heading, :above => others_heading
end
test "show nearby users with ability to follow" do
user = create(:user, :home_lon => 1.1, :home_lat => 1.1)
nearby_user = create(:user, :home_lon => 1.2, :home_lat => 1.2)
sign_in_as(user)
visit dashboard_path
within_content_body do
others_nearby_heading = find :element, "h2", :text => "Other nearby users"
assert_no_text "There are no other users who admit to mapping nearby yet"
assert_link nearby_user.display_name, :below => others_nearby_heading
assert_link "Follow", :below => others_nearby_heading
click_on "Follow"
followings_heading = find :element, "h2", :text => "Followings"
others_nearby_heading = find :element, "h2", :text => "Other nearby users"
assert_text "There are no other users who admit to mapping nearby yet"
assert_link nearby_user.display_name, :below => followings_heading, :above => others_nearby_heading
assert_link "Unfollow", :below => followings_heading, :above => others_nearby_heading
end
end
end