X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fpleroma%2Fweb%2Factivity_pub%2Fbuilder_test.exs;h=9269733b738a8d2aa80aaba823708af253e48b6c;hb=3f76de76dac266ea2909dbd1dc88a9533d972952;hp=3fe32bce5d24e3852500d1ec2257e4269d3f5d86;hpb=720198d56950ca98f4d947dd630b0e170eda569b;p=akkoma diff --git a/test/pleroma/web/activity_pub/builder_test.exs b/test/pleroma/web/activity_pub/builder_test.exs index 3fe32bce5..9269733b7 100644 --- a/test/pleroma/web/activity_pub/builder_test.exs +++ b/test/pleroma/web/activity_pub/builder_test.exs @@ -13,6 +13,7 @@ defmodule Pleroma.Web.ActivityPub.BuilderTest do test "returns note data" do user = insert(:user) note = insert(:note) + quote = insert(:note) user2 = insert(:user) user3 = insert(:user) @@ -25,7 +26,8 @@ defmodule Pleroma.Web.ActivityPub.BuilderTest do tags: [name: "jimm"], summary: "test summary", cc: [user3.ap_id], - extra: %{"custom_tag" => "test"} + extra: %{"custom_tag" => "test"}, + quote: quote } expected = %{ @@ -39,10 +41,68 @@ defmodule Pleroma.Web.ActivityPub.BuilderTest do "tag" => ["jimm"], "to" => [user2.ap_id], "type" => "Note", - "custom_tag" => "test" + "custom_tag" => "test", + "quoteUri" => quote.data["id"] } assert {:ok, ^expected, []} = Builder.note(draft) end end + + describe "emoji_react/1" do + test "unicode emoji" do + user = insert(:user) + note = insert(:note) + + assert {:ok, %{"content" => "👍", "type" => "EmojiReact"}, []} = + Builder.emoji_react(user, note, "👍") + end + + test "custom emoji" do + user = insert(:user) + note = insert(:note) + + assert {:ok, + %{ + "content" => ":dinosaur:", + "type" => "EmojiReact", + "tag" => [ + %{ + "name" => ":dinosaur:", + "id" => "http://localhost:4001/emoji/dino walking.gif", + "icon" => %{ + "type" => "Image", + "url" => "http://localhost:4001/emoji/dino walking.gif" + } + } + ] + }, []} = Builder.emoji_react(user, note, ":dinosaur:") + end + + test "remote custom emoji" do + user = insert(:user) + other_user = insert(:user, local: false) + + note = + insert(:note, + data: %{"reactions" => [["wow", [other_user.ap_id], "https://remote/emoji/wow"]]} + ) + + assert {:ok, + %{ + "content" => ":wow:", + "type" => "EmojiReact", + "tag" => [ + %{ + "name" => ":wow:", + "id" => "https://remote/emoji/wow", + "icon" => %{ + "type" => "Image", + "url" => "https://remote/emoji/wow" + } + } + ] + }, []} = Builder.emoji_react(user, note, ":wow@remote:") + end + end end