logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://anongit.hacktivis.me/git/pleroma.git/
commit: ed538603fb5f2941bbdce61e11e9e3ca6adec395
parent 4b168691fefd2dc168ed900c2521f51b6c0e602d
Author: Lain Soykaf <lain@lain.com>
Date:   Sun, 21 Dec 2025 14:04:19 +0400

TransmogrifierTest: Add failing test for Update.

Diffstat:

Mtest/pleroma/web/activity_pub/transmogrifier_test.exs27+++++++++++++++++++++++++++
1 file changed, 27 insertions(+), 0 deletions(-)

diff --git a/test/pleroma/web/activity_pub/transmogrifier_test.exs b/test/pleroma/web/activity_pub/transmogrifier_test.exs @@ -9,7 +9,10 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do alias Pleroma.Activity alias Pleroma.Object alias Pleroma.User + alias Pleroma.Web.ActivityPub.Builder + alias Pleroma.Web.ActivityPub.Pipeline alias Pleroma.Web.ActivityPub.Transmogrifier + alias Pleroma.Web.ActivityPub.UserView alias Pleroma.Web.ActivityPub.Utils alias Pleroma.Web.AdminAPI.AccountView alias Pleroma.Web.CommonAPI @@ -644,6 +647,30 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do } = prepared["object"] end + test "Updates of Actors are handled" do + user = insert(:user, local: true) + + changeset = User.update_changeset(user, %{name: "new name"}) + {:ok, unpersisted_user} = Ecto.Changeset.apply_action(changeset, :update) + + updated_object = + UserView.render("user.json", user: unpersisted_user) + |> Map.delete("@context") + + {:ok, update_data, []} = Builder.update(user, updated_object) + + {:ok, activity, _} = + Pipeline.common_pipeline(update_data, + local: true, + user_update_changeset: changeset + ) + + assert {:ok, prepared} = Transmogrifier.prepare_outgoing(activity.data) + assert prepared["type"] == "Update" + assert prepared["@context"] + assert prepared["object"]["type"] == user.actor_type + end + test "Correctly handles Undo activities" do blocked = insert(:user) blocker = insert(:user, local: true)