diff options
| author | lain <lain@soykaf.club> | 2020-05-05 15:08:41 +0200 |
|---|---|---|
| committer | lain <lain@soykaf.club> | 2020-05-05 15:08:41 +0200 |
| commit | a3071f023166cb5364ce56e3666d5a77baa16434 (patch) | |
| tree | 8b9cdeba411e97c2f9d320eb230ca34017c38b79 /test/web/activity_pub/side_effects_test.exs | |
| parent | f1da8882f971f932b65f655b6457759387dafe51 (diff) | |
| download | pleroma-a3071f023166cb5364ce56e3666d5a77baa16434.tar.gz pleroma-a3071f023166cb5364ce56e3666d5a77baa16434.zip | |
Undoing: Move undoing likes to the pipeline everywhere.
Diffstat (limited to 'test/web/activity_pub/side_effects_test.exs')
| -rw-r--r-- | test/web/activity_pub/side_effects_test.exs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 0b6b55156..61ef72742 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -5,6 +5,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do use Pleroma.DataCase + alias Pleroma.Activity alias Pleroma.Notification alias Pleroma.Object alias Pleroma.Repo @@ -15,6 +16,34 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do import Pleroma.Factory + describe "Undo objects" do + setup do + poster = insert(:user) + user = insert(:user) + {:ok, post} = CommonAPI.post(poster, %{"status" => "hey"}) + {:ok, like} = CommonAPI.favorite(user, post.id) + + {:ok, undo_data, _meta} = Builder.undo(user, like) + {:ok, like_undo, _meta} = ActivityPub.persist(undo_data, local: true) + + %{like_undo: like_undo, post: post, like: like} + end + + test "a like undo removes the like from the object", %{like_undo: like_undo, post: post} do + {:ok, _like_undo, _} = SideEffects.handle(like_undo) + + object = Object.get_by_ap_id(post.data["object"]) + + assert object.data["like_count"] == 0 + assert object.data["likes"] == [] + end + + test "deletes the original like", %{like_undo: like_undo, like: like} do + {:ok, _like_undo, _} = SideEffects.handle(like_undo) + refute Activity.get_by_id(like.id) + end + end + describe "like objects" do setup do poster = insert(:user) |
