diff options
Diffstat (limited to 'test/web/activity_pub')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 43 | 
1 files changed, 43 insertions, 0 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 950ce17dd..f4029896c 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -213,6 +213,25 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        assert activity.actor == user.ap_id        assert activity.recipients == ["user1", "user2", user.ap_id]      end + +    test "increases user note count only for public activities" do +      user = insert(:user) + +      {:ok, _} = +        CommonAPI.post(Repo.get(User, user.id), %{"status" => "1", "visibility" => "public"}) + +      {:ok, _} = +        CommonAPI.post(Repo.get(User, user.id), %{"status" => "2", "visibility" => "unlisted"}) + +      {:ok, _} = +        CommonAPI.post(Repo.get(User, user.id), %{"status" => "2", "visibility" => "private"}) + +      {:ok, _} = +        CommonAPI.post(Repo.get(User, user.id), %{"status" => "3", "visibility" => "direct"}) + +      user = Repo.get(User, user.id) +      assert user.info.note_count == 2 +    end    end    describe "fetch activities for recipients" do @@ -648,6 +667,30 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        assert Repo.get(Object, object.id).data["type"] == "Tombstone"      end + +    test "decrements user note count only for public activities" do +      user = insert(:user, info: %{note_count: 10}) + +      {:ok, a1} = +        CommonAPI.post(Repo.get(User, user.id), %{"status" => "yeah", "visibility" => "public"}) + +      {:ok, a2} = +        CommonAPI.post(Repo.get(User, user.id), %{"status" => "yeah", "visibility" => "unlisted"}) + +      {:ok, a3} = +        CommonAPI.post(Repo.get(User, user.id), %{"status" => "yeah", "visibility" => "private"}) + +      {:ok, a4} = +        CommonAPI.post(Repo.get(User, user.id), %{"status" => "yeah", "visibility" => "direct"}) + +      {:ok, _} = a1.data["object"]["id"] |> Object.get_by_ap_id() |> ActivityPub.delete() +      {:ok, _} = a2.data["object"]["id"] |> Object.get_by_ap_id() |> ActivityPub.delete() +      {:ok, _} = a3.data["object"]["id"] |> Object.get_by_ap_id() |> ActivityPub.delete() +      {:ok, _} = a4.data["object"]["id"] |> Object.get_by_ap_id() |> ActivityPub.delete() + +      user = Repo.get(User, user.id) +      assert user.info.note_count == 10 +    end    end    describe "timeline post-processing" do  | 
