+ assert user.errors[:display_name].include?("is invalid")
+ end
+ end
+
+ def test_friend_with
+ assert users(:normal_user).is_friends_with?(users(:public_user))
+ assert !users(:normal_user).is_friends_with?(users(:inactive_user))
+ assert !users(:public_user).is_friends_with?(users(:normal_user))
+ assert !users(:public_user).is_friends_with?(users(:inactive_user))
+ assert !users(:inactive_user).is_friends_with?(users(:normal_user))
+ assert !users(:inactive_user).is_friends_with?(users(:public_user))
+ end
+
+ def test_users_nearby
+ # second user has their data public and is close by normal user
+ assert_equal [users(:public_user)], users(:normal_user).nearby
+ # second_user has normal user nearby, but normal user has their data private
+ assert_equal [], users(:public_user).nearby
+ # inactive_user has no user nearby
+ assert_equal [], users(:inactive_user).nearby
+ # north_pole_user has no user nearby, and doesn't throw exception
+ assert_equal [], users(:north_pole_user).nearby
+ end
+
+ def test_friends_with
+ # normal user is a friend of second user
+ # it should be a one way friend accossitation
+ assert_equal 1, Friend.count
+ norm = users(:normal_user)
+ sec = users(:public_user)
+ #friend = Friend.new
+ #friend.befriender = norm
+ #friend.befriendee = sec
+ #friend.save
+ assert_equal [sec], norm.nearby
+ assert_equal 1, norm.nearby.size
+ assert_equal 1, Friend.count
+ assert norm.is_friends_with?(sec)
+ assert !sec.is_friends_with?(norm)
+ assert !users(:normal_user).is_friends_with?(users(:inactive_user))
+ assert !users(:public_user).is_friends_with?(users(:normal_user))
+ assert !users(:public_user).is_friends_with?(users(:inactive_user))
+ assert !users(:inactive_user).is_friends_with?(users(:normal_user))
+ assert !users(:inactive_user).is_friends_with?(users(:public_user))
+ #Friend.delete(friend)
+ #assert_equal 0, Friend.count
+ end
+
+ def test_user_preferred_editor
+ user = users(:normal_user)
+ assert_equal nil, user.preferred_editor
+ user.preferred_editor = "potlatch"
+ assert_equal "potlatch", user.preferred_editor
+ user.save!
+
+ user.preferred_editor = "invalid_editor"
+ assert_raise(ActiveRecord::RecordInvalid) { user.save! }
+ end
+
+ def test_visible
+ assert_equal 15, User.visible.count
+ assert_raise ActiveRecord::RecordNotFound do
+ User.visible.find(users(:suspended_user).id)
+ end
+ assert_raise ActiveRecord::RecordNotFound do
+ User.visible.find(users(:deleted_user).id)
+ end
+ end
+
+ def test_active
+ assert_equal 14, User.active.count
+ assert_raise ActiveRecord::RecordNotFound do
+ User.active.find(users(:inactive_user).id)
+ end
+ assert_raise ActiveRecord::RecordNotFound do
+ User.active.find(users(:suspended_user).id)