import Ecto.Query
test "ap_id returns the activity pub id for the user" do
- host =
- Application.get_env(:pleroma, Pleroma.Web.Endpoint)
- |> Keyword.fetch!(:url)
- |> Keyword.fetch!(:host)
-
user = UserBuilder.build
expected_ap_id = "#{Pleroma.Web.base_url}/users/#{user.nickname}"
{:ok, res} = User.get_followers(user)
- assert res == [follower_one, follower_two]
+ assert Enum.member?(res, follower_one)
+ assert Enum.member?(res, follower_two)
+ refute Enum.member?(res, not_follower)
end
test "gets all friends (followed users) for a given user" do
followed_one = User.get_by_ap_id(followed_one.ap_id)
followed_two = User.get_by_ap_id(followed_two.ap_id)
- assert res == [followed_one, followed_two]
+ assert Enum.member?(res, followed_one)
+ assert Enum.member?(res, followed_two)
+ refute Enum.member?(res, not_followed)
end
end
assert user.info["note_count"] == 1
end
+ test "it increases the info->note_count property" do
+ note = insert(:note)
+ user = User.get_by_ap_id(note.data["actor"])
+
+ assert user.info["note_count"] == nil
+
+ {:ok, user} = User.increase_note_count(user)
+
+ assert user.info["note_count"] == 1
+
+ {:ok, user} = User.increase_note_count(user)
+
+ assert user.info["note_count"] == 2
+ end
+
test "it sets the info->follower_count property" do
user = insert(:user)
follower = insert(:user)
assert user.info["follower_count"] == 1
end
end
+
+ describe "blocks" do
+ test "it blocks people" do
+ user = insert(:user)
+ blocked_user = insert(:user)
+
+ refute User.blocks?(user, blocked_user)
+
+ {:ok, user} = User.block(user, blocked_user)
+
+ assert User.blocks?(user, blocked_user)
+ end
+
+ test "it unblocks users" do
+ user = insert(:user)
+ blocked_user = insert(:user)
+
+ {:ok, user} = User.block(user, blocked_user)
+ {:ok, user} = User.unblock(user, blocked_user)
+
+ refute User.blocks?(user, blocked_user)
+ end
+ end
end