X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fweb%2Factivity_pub%2Factivity_pub_test.exs;h=7735e1bf8334f263f1c49c1cac4155b4daf27697;hb=2d775bf1be5ddf0a8c5553ef15dde55c2483c1d4;hp=c6434f789126b67b776b3ee798087c7c51801985;hpb=96007753ad099b43fcea33662e22b5528426849d;p=akkoma diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index c6434f789..7735e1bf8 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -56,7 +56,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do "id" => "some_id", "object" => %{ "id" => "object_id" - } + } } {:ok, %Activity{} = activity} = ActivityPub.insert(data) @@ -83,16 +83,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do describe "create activities" do test "removes doubled 'to' recipients" do + user = insert(:user) + {:ok, activity} = ActivityPub.create(%{ to: ["user1", "user1", "user2"], - actor: %User{ap_id: "1"}, + actor: user, context: "", object: %{} }) assert activity.data["to"] == ["user1", "user2"] - assert activity.actor == "1" + assert activity.actor == user.ap_id assert activity.recipients == ["user1", "user2"] end end @@ -271,6 +273,38 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do end end + describe "unannouncing an object" do + test "unannouncing a previously announced object" do + note_activity = insert(:note_activity) + object = Object.get_by_ap_id(note_activity.data["object"]["id"]) + user = insert(:user) + + # Unannouncing an object that is not announced does nothing + # {:ok, object} = ActivityPub.unannounce(user, object) + # assert object.data["announcement_count"] == 0 + + {:ok, announce_activity, object} = ActivityPub.announce(user, object) + assert object.data["announcement_count"] == 1 + + {:ok, unannounce_activity, activity, object} = ActivityPub.unannounce(user, object) + assert object.data["announcement_count"] == 0 + + assert activity == announce_activity + + assert unannounce_activity.data["to"] == [ + User.ap_followers(user), + announce_activity.data["actor"] + ] + + assert unannounce_activity.data["type"] == "Undo" + assert unannounce_activity.data["object"] == announce_activity.data + assert unannounce_activity.data["actor"] == user.ap_id + assert unannounce_activity.data["context"] == announce_activity.data["context"] + + assert Repo.get(Activity, announce_activity.id) == nil + end + end + describe "uploading files" do test "copies the file to the configured folder" do file = %Plug.Upload{