aboutsummaryrefslogtreecommitdiff
path: root/test/tasks
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-05-11 17:14:58 +0200
committerlain <lain@soykaf.club>2020-05-11 17:14:58 +0200
commitf28ed36b4daf2f7ed2e35b90b07a5b0552b2a2c9 (patch)
tree337f5fe20d87a86bbba0da1d47ff1dea4cd0a340 /test/tasks
parentfdb98715b8e6ced7c4037b1292fb10980a994803 (diff)
parente4323141056afc47c2bef7352aaca90edc467a64 (diff)
downloadpleroma-f28ed36b4daf2f7ed2e35b90b07a5b0552b2a2c9.tar.gz
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
Diffstat (limited to 'test/tasks')
-rw-r--r--test/tasks/user_test.exs25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/tasks/user_test.exs b/test/tasks/user_test.exs
index e0fee7290..b4f68d494 100644
--- a/test/tasks/user_test.exs
+++ b/test/tasks/user_test.exs
@@ -3,9 +3,12 @@
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Mix.Tasks.Pleroma.UserTest do
+ alias Pleroma.Activity
+ alias Pleroma.Object
alias Pleroma.Repo
alias Pleroma.Tests.ObanHelpers
alias Pleroma.User
+ alias Pleroma.Web.CommonAPI
alias Pleroma.Web.OAuth.Authorization
alias Pleroma.Web.OAuth.Token
@@ -103,6 +106,28 @@ defmodule Mix.Tasks.Pleroma.UserTest do
end
end
+ test "a remote user's create activity is deleted when the object has been pruned" do
+ user = insert(:user)
+
+ {:ok, post} = CommonAPI.post(user, %{"status" => "uguu"})
+ object = Object.normalize(post)
+ Object.prune(object)
+
+ with_mock Pleroma.Web.Federator,
+ publish: fn _ -> nil end do
+ Mix.Tasks.Pleroma.User.run(["rm", user.nickname])
+ ObanHelpers.perform_all()
+
+ assert_received {:mix_shell, :info, [message]}
+ assert message =~ " deleted"
+ assert %{deactivated: true} = User.get_by_nickname(user.nickname)
+
+ assert called(Pleroma.Web.Federator.publish(:_))
+ end
+
+ refute Activity.get_by_id(post.id)
+ end
+
test "no user to delete" do
Mix.Tasks.Pleroma.User.run(["rm", "nonexistent"])