diff options
| author | kaniini <nenolod@gmail.com> | 2018-09-02 12:37:00 +0000 | 
|---|---|---|
| committer | kaniini <nenolod@gmail.com> | 2018-09-02 12:37:00 +0000 | 
| commit | b7923aa304c23963fd51731579a54949fa639762 (patch) | |
| tree | 5745573ae7fdaa027836af9798d6f1439fa5ad30 | |
| parent | 3370fab1d0af1eb65c6d7f8422129b33ca4c654b (diff) | |
| parent | 0f1c629d657f569058c36fb0f0c7855a261d5257 (diff) | |
| download | pleroma-b7923aa304c23963fd51731579a54949fa639762.tar.gz pleroma-b7923aa304c23963fd51731579a54949fa639762.zip  | |
Merge branch 'hotfix_broken_likes' into 'develop'
hotfix for broken like completely breaking the notifications API
See merge request pleroma/pleroma!284
| -rw-r--r-- | lib/pleroma/web/twitter_api/views/activity_view.ex | 3 | ||||
| -rw-r--r-- | test/web/twitter_api/views/activity_view_test.exs | 27 | 
2 files changed, 29 insertions, 1 deletions
diff --git a/lib/pleroma/web/twitter_api/views/activity_view.ex b/lib/pleroma/web/twitter_api/views/activity_view.ex index 55b5287f5..909eefdd8 100644 --- a/lib/pleroma/web/twitter_api/views/activity_view.ex +++ b/lib/pleroma/web/twitter_api/views/activity_view.ex @@ -181,6 +181,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do    def render("activity.json", %{activity: %{data: %{"type" => "Like"}} = activity} = opts) do      user = get_user(activity.data["actor"], opts)      liked_activity = Activity.get_create_activity_by_object_ap_id(activity.data["object"]) +    liked_activity_id = if liked_activity, do: liked_activity.id, else: nil      created_at =        activity.data["published"] @@ -197,7 +198,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityView do        "is_post_verb" => false,        "uri" => "tag:#{activity.data["id"]}:objectType=Favourite",        "created_at" => created_at, -      "in_reply_to_status_id" => liked_activity.id, +      "in_reply_to_status_id" => liked_activity_id,        "external_url" => activity.data["id"],        "activity_type" => "like"      } diff --git a/test/web/twitter_api/views/activity_view_test.exs b/test/web/twitter_api/views/activity_view_test.exs index a101e4ae8..b9a8efdad 100644 --- a/test/web/twitter_api/views/activity_view_test.exs +++ b/test/web/twitter_api/views/activity_view_test.exs @@ -126,6 +126,33 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do      assert result == expected    end +  test "a like activity for deleted post" do +    user = insert(:user) +    other_user = insert(:user, %{nickname: "shp"}) + +    {:ok, activity} = CommonAPI.post(user, %{"status" => "Hey @shp!"}) +    {:ok, like, _object} = CommonAPI.favorite(activity.id, other_user) +    CommonAPI.delete(activity.id, user) + +    result = ActivityView.render("activity.json", activity: like) + +    expected = %{ +      "activity_type" => "like", +      "created_at" => like.data["published"] |> Utils.date_to_asctime(), +      "external_url" => like.data["id"], +      "id" => like.id, +      "in_reply_to_status_id" => nil, +      "is_local" => true, +      "is_post_verb" => false, +      "statusnet_html" => "shp favorited a status.", +      "text" => "shp favorited a status.", +      "uri" => "tag:#{like.data["id"]}:objectType=Favourite", +      "user" => UserView.render("show.json", user: other_user) +    } + +    assert result == expected +  end +    test "an announce activity" do      user = insert(:user)      other_user = insert(:user, %{nickname: "shp"})  | 
