diff --git a/test/support/factory.ex b/test/support/factory.ex index b2e98c8d1..e9b4beb7d 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -65,6 +65,26 @@ def note_activity_factory do } end + def announce_activity_factory do + note_activity = insert(:note_activity) + user = insert(:user) + + data = %{ + "type" => "Announce", + "actor" => note_activity.actor, + "object" => note_activity.data["id"], + "to" => [user.follower_address, note_activity.data["actor"]], + "cc" => ["https://www.w3.org/ns/activitystreams#Public"], + "context" => note_activity.data["context"] + } + + %Pleroma.Activity{ + data: data, + actor: user.ap_id, + recipients: data["to"] + } + end + def like_activity_factory do note_activity = insert(:note_activity) user = insert(:user) diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index 1daa5627c..8a1c0d361 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -51,7 +51,7 @@ test "it inserts an incoming activity into the database", %{conn: conn} do end describe "/users/:nickname/outbox" do - test "it returns a note action in a collection", %{conn: conn} do + test "it returns a note activity in a collection", %{conn: conn} do note_activity = insert(:note_activity) user = User.get_cached_by_ap_id(note_activity.data["actor"]) @@ -62,6 +62,18 @@ test "it returns a note action in a collection", %{conn: conn} do assert response(conn, 200) =~ note_activity.data["object"]["content"] end + + test "it returns an announce activity in a collection", %{conn: conn} do + announce_activity = insert(:announce_activity) + user = User.get_cached_by_ap_id(announce_activity.data["actor"]) + + conn = + conn + |> put_req_header("accept", "application/activity+json") + |> get("/users/#{user.nickname}/outbox") + + assert response(conn, 200) =~ announce_activity.data["object"] + end end describe "/users/:nickname/followers" do