From edc3e5bc3014b1ca395038736dd8fd6b6aeed560 Mon Sep 17 00:00:00 2001 From: eal Date: Mon, 20 Nov 2017 07:52:02 +0200 Subject: [PATCH] Make users in tests follow themselves by default. Also fix the semantics of all tests to match. --- test/support/factory.ex | 2 +- test/user_test.exs | 4 ++-- test/web/twitter_api/twitter_api_controller_test.exs | 6 +++--- test/web/twitter_api/twitter_api_test.exs | 4 ++-- test/web/twitter_api/views/user_view_test.exs | 3 ++- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/test/support/factory.ex b/test/support/factory.ex index 9bbf11f08..7f378915e 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -9,7 +9,7 @@ def user_factory do password_hash: Comeonin.Pbkdf2.hashpwsalt("test"), bio: sequence(:bio, &"Tester Number #{&1}") } - %{ user | ap_id: Pleroma.User.ap_id(user), follower_address: Pleroma.User.ap_followers(user) } + %{ user | ap_id: Pleroma.User.ap_id(user), follower_address: Pleroma.User.ap_followers(user), following: [Pleroma.User.ap_id(user)] } end def note_factory do diff --git a/test/user_test.exs b/test/user_test.exs index e9f7a8666..c06663ed7 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -36,7 +36,7 @@ test "follow takes a user and another user" do followed = User.get_by_ap_id(followed.ap_id) assert followed.info["follower_count"] == 1 - assert user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in user.following end test "following a remote user will ensure a websub subscription is present" do @@ -46,7 +46,7 @@ test "following a remote user will ensure a websub subscription is present" do assert followed.local == false {:ok, user} = User.follow(user, followed) - assert user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in user.following query = from w in WebsubClientSubscription, where: w.topic == ^followed.info["topic"] diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index 4ab18721d..4b8fa85a5 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -288,7 +288,7 @@ test "with credentials", %{conn: conn, user: current_user} do |> post("/api/friendships/create.json", %{user_id: followed.id}) current_user = Repo.get(User, current_user.id) - assert current_user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in current_user.following assert json_response(conn, 200) == UserView.render("show.json", %{user: followed, for: current_user}) end end @@ -304,7 +304,7 @@ test "with credentials", %{conn: conn, user: current_user} do followed = insert(:user) {:ok, current_user} = User.follow(current_user, followed) - assert current_user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in current_user.following ActivityPub.follow(current_user, followed) conn = conn @@ -312,7 +312,7 @@ test "with credentials", %{conn: conn, user: current_user} do |> post("/api/friendships/destroy.json", %{user_id: followed.id}) current_user = Repo.get(User, current_user.id) - assert current_user.following == [] + assert current_user.following == [current_user.ap_id] assert json_response(conn, 200) == UserView.render("show.json", %{user: followed, for: current_user}) end end diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 06ecd9e75..60daeec70 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -179,7 +179,7 @@ test "Follow another user using user_id" do followed = insert(:user) {:ok, user, followed, _activity } = TwitterAPI.follow(user, %{"user_id" => followed.id}) - assert user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in user.following { :error, msg } = TwitterAPI.follow(user, %{"user_id" => followed.id}) assert msg == "Could not follow user: #{followed.nickname} is already on your list." @@ -190,7 +190,7 @@ test "Follow another user using screen_name" do followed = insert(:user) {:ok, user, followed, _activity } = TwitterAPI.follow(user, %{"screen_name" => followed.nickname}) - assert user.following == [User.ap_followers(followed)] + assert User.ap_followers(followed) in user.following followed = User.get_by_ap_id(followed.ap_id) assert followed.info["follower_count"] == 1 diff --git a/test/web/twitter_api/views/user_view_test.exs b/test/web/twitter_api/views/user_view_test.exs index 9f8e15574..18a19ef70 100644 --- a/test/web/twitter_api/views/user_view_test.exs +++ b/test/web/twitter_api/views/user_view_test.exs @@ -92,7 +92,8 @@ test "A user for a given other follower", %{user: user} do end test "A user that follows you", %{user: user} do - {:ok, follower} = UserBuilder.insert(%{following: [User.ap_followers(user)]}) + follower = insert(:user) + {:ok, follower} = User.follow(follower, user) {:ok, user} = User.update_follower_count(user) image = "https://placehold.it/48x48" represented = %{