aboutsummaryrefslogtreecommitdiff
path: root/test/user_test.exs
diff options
context:
space:
mode:
authorSergey Suprunenko <suprunenko.s@gmail.com>2019-05-16 20:04:08 +0000
committerfeld <feld@feld.me>2019-05-16 20:04:08 +0000
commit2c303afc8b25ca92eaa229df3e9e4737856e890c (patch)
treee643ab9cba86a6556cb18772957be612be47986e /test/user_test.exs
parent0f8892686a659283d0242998b08e9c6d95ccb2c3 (diff)
downloadpleroma-2c303afc8b25ca92eaa229df3e9e4737856e890c.tar.gz
Remove duplicated entries in users' following lists
Diffstat (limited to 'test/user_test.exs')
-rw-r--r--test/user_test.exs31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/user_test.exs b/test/user_test.exs
index 16a014f2f..721b65693 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -626,6 +626,37 @@ defmodule Pleroma.UserTest do
end
end
+ describe "remove duplicates from following list" do
+ test "it removes duplicates" do
+ user = insert(:user)
+ follower = insert(:user)
+
+ {:ok, %User{following: following} = follower} = User.follow(follower, user)
+ assert length(following) == 2
+
+ {:ok, follower} =
+ follower
+ |> User.update_changeset(%{following: following ++ following})
+ |> Repo.update()
+
+ assert length(follower.following) == 4
+
+ {:ok, follower} = User.remove_duplicated_following(follower)
+ assert length(follower.following) == 2
+ end
+
+ test "it does nothing when following is uniq" do
+ user = insert(:user)
+ follower = insert(:user)
+
+ {:ok, follower} = User.follow(follower, user)
+ assert length(follower.following) == 2
+
+ {:ok, follower} = User.remove_duplicated_following(follower)
+ assert length(follower.following) == 2
+ end
+ end
+
describe "follow_import" do
test "it imports user followings from list" do
[user1, user2, user3] = insert_list(3, :user)