diff options
author | Maksim Pechnikov <parallel588@gmail.com> | 2019-08-16 15:58:42 +0300 |
---|---|---|
committer | Maksim Pechnikov <parallel588@gmail.com> | 2019-08-16 15:58:42 +0300 |
commit | 3315a2a1c3cae3375bbb1c7112b2c75563f3a4af (patch) | |
tree | 43014c2961a5c6ff204a6d0587afdf31555a9d29 /test | |
parent | 0f24edcd8dc2e6c74d384d3fc31acfa7d2d56702 (diff) | |
download | pleroma-3315a2a1c3cae3375bbb1c7112b2c75563f3a4af.tar.gz pleroma-3315a2a1c3cae3375bbb1c7112b2c75563f3a4af.zip |
fixed User.unfollow with synchronization external user
Diffstat (limited to 'test')
-rw-r--r-- | test/user_test.exs | 64 |
1 files changed, 52 insertions, 12 deletions
diff --git a/test/user_test.exs b/test/user_test.exs index b363b322c..3861cadac 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -192,24 +192,64 @@ defmodule Pleroma.UserTest do # assert websub # end - test "unfollow takes a user and another user" do - followed = insert(:user) - user = insert(:user, %{following: [User.ap_followers(followed)]}) + describe "unfollow/2" do + setup do + setting = Pleroma.Config.get([:instance, :external_user_synchronization]) - {:ok, user, _activity} = User.unfollow(user, followed) + on_exit(fn -> + Pleroma.Config.put([:instance, :external_user_synchronization], setting) + end) - user = User.get_cached_by_id(user.id) + :ok + end - assert user.following == [] - end + test "unfollow with syncronizes external user" do + Pleroma.Config.put([:instance, :external_user_synchronization], true) - test "unfollow doesn't unfollow yourself" do - user = insert(:user) + followed = + insert(:user, + nickname: "fuser1", + follower_address: "http://localhost:4001/users/fuser1/followers", + following_address: "http://localhost:4001/users/fuser1/following", + ap_id: "http://localhost:4001/users/fuser1" + ) + + user = + insert(:user, %{ + local: false, + nickname: "fuser2", + ap_id: "http://localhost:4001/users/fuser2", + follower_address: "http://localhost:4001/users/fuser2/followers", + following_address: "http://localhost:4001/users/fuser2/following", + following: [User.ap_followers(followed)] + }) - {:error, _} = User.unfollow(user, user) + {:ok, user, _activity} = User.unfollow(user, followed) - user = User.get_cached_by_id(user.id) - assert user.following == [user.ap_id] + user = User.get_cached_by_id(user.id) + + assert user.following == [] + end + + test "unfollow takes a user and another user" do + followed = insert(:user) + user = insert(:user, %{following: [User.ap_followers(followed)]}) + + {:ok, user, _activity} = User.unfollow(user, followed) + + user = User.get_cached_by_id(user.id) + + assert user.following == [] + end + + test "unfollow doesn't unfollow yourself" do + user = insert(:user) + + {:error, _} = User.unfollow(user, user) + + user = User.get_cached_by_id(user.id) + assert user.following == [user.ap_id] + end end test "test if a user is following another user" do |