diff options
author | Sergey Suprunenko <suprunenko.s@gmail.com> | 2019-05-16 20:04:08 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2019-05-16 20:04:08 +0000 |
commit | 2c303afc8b25ca92eaa229df3e9e4737856e890c (patch) | |
tree | e643ab9cba86a6556cb18772957be612be47986e /test/user_test.exs | |
parent | 0f8892686a659283d0242998b08e9c6d95ccb2c3 (diff) | |
download | pleroma-2c303afc8b25ca92eaa229df3e9e4737856e890c.tar.gz |
Remove duplicated entries in users' following lists
Diffstat (limited to 'test/user_test.exs')
-rw-r--r-- | test/user_test.exs | 31 |
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) |