diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/activity_pub/activity_pub_controller_test.exs | 40 | ||||
| -rw-r--r-- | test/web/activity_pub/transmogrifier_test.exs | 23 | 
2 files changed, 62 insertions, 1 deletions
| diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 7aed8c71d..52e67f046 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -89,6 +89,21 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do      end    end +  describe "/object/:uuid/likes" do +    test "it returns the like activities in a collection", %{conn: conn} do +      like = insert(:like_activity) +      uuid = String.split(like.data["object"], "/") |> List.last() + +      result = +        conn +        |> put_req_header("accept", "application/activity+json") +        |> get("/objects/#{uuid}/likes") +        |> json_response(200) + +      assert List.first(result["first"]["orderedItems"])["id"] == like.data["id"] +    end +  end +    describe "/activities/:uuid" do      test "it returns a json representation of the activity", %{conn: conn} do        activity = insert(:note_activity) @@ -292,6 +307,31 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do        assert json_response(conn, 400)      end + +    test "it increases like count when receiving a like action", %{conn: conn} do +      note_activity = insert(:note_activity) +      user = User.get_cached_by_ap_id(note_activity.data["actor"]) + +      data = %{ +        type: "Like", +        object: %{ +          id: note_activity.data["object"]["id"] +        } +      } + +      conn = +        conn +        |> assign(:user, user) +        |> put_req_header("content-type", "application/activity+json") +        |> post("/users/#{user.nickname}/outbox", data) + +      result = json_response(conn, 201) +      assert Activity.get_by_ap_id(result["id"]) + +      object = Object.get_by_ap_id(note_activity.data["object"]["id"]) +      assert object +      assert object.data["like_count"] == 1 +    end    end    describe "/users/:nickname/followers" do diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs index a5fd87ed4..87d0ab559 100644 --- a/test/web/activity_pub/transmogrifier_test.exs +++ b/test/web/activity_pub/transmogrifier_test.exs @@ -829,12 +829,33 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        assert length(modified["object"]["tag"]) == 2        assert is_nil(modified["object"]["emoji"]) -      assert is_nil(modified["object"]["likes"])        assert is_nil(modified["object"]["like_count"])        assert is_nil(modified["object"]["announcements"])        assert is_nil(modified["object"]["announcement_count"])        assert is_nil(modified["object"]["context_id"])      end + +    test "it strips internal fields of article" do +      activity = insert(:article_activity) + +      {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data) + +      assert length(modified["object"]["tag"]) == 2 + +      assert is_nil(modified["object"]["emoji"]) +      assert is_nil(modified["object"]["like_count"]) +      assert is_nil(modified["object"]["announcements"]) +      assert is_nil(modified["object"]["announcement_count"]) +      assert is_nil(modified["object"]["context_id"]) +    end + +    test "it adds like collection to object" do +      activity = insert(:note_activity) +      {:ok, modified} = Transmogrifier.prepare_outgoing(activity.data) + +      assert modified["object"]["likes"]["type"] == "OrderedCollection" +      assert modified["object"]["likes"]["totalItems"] == 0 +    end    end    describe "user upgrade" do | 
