Merge branch 'docs/kyclos' into 'develop'
[akkoma] / test / web / activity_pub / transmogrifier_test.exs
index 5da358c43636e10fa0556dfbb3d4b72393c43bfe..1b12ee3a9dfd118072cdf1eef234b0863b8da98c 100644 (file)
@@ -340,7 +340,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
       assert data["object"] == activity.data["object"]
     end
 
-    test "it works for incoming misskey likes, turning them into EmojiReactions" do
+    test "it works for incoming misskey likes, turning them into EmojiReacts" do
       user = insert(:user)
       {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"})
 
@@ -352,13 +352,13 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
 
       assert data["actor"] == data["actor"]
-      assert data["type"] == "EmojiReaction"
+      assert data["type"] == "EmojiReact"
       assert data["id"] == data["id"]
       assert data["object"] == activity.data["object"]
       assert data["content"] == "🍮"
     end
 
-    test "it works for incoming misskey likes that contain unicode emojis, turning them into EmojiReactions" do
+    test "it works for incoming misskey likes that contain unicode emojis, turning them into EmojiReacts" do
       user = insert(:user)
       {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"})
 
@@ -371,7 +371,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
 
       assert data["actor"] == data["actor"]
-      assert data["type"] == "EmojiReaction"
+      assert data["type"] == "EmojiReact"
       assert data["id"] == data["id"]
       assert data["object"] == activity.data["object"]
       assert data["content"] == "⭐"
@@ -389,12 +389,31 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
       {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
 
       assert data["actor"] == "http://mastodon.example.org/users/admin"
-      assert data["type"] == "EmojiReaction"
+      assert data["type"] == "EmojiReact"
       assert data["id"] == "http://mastodon.example.org/users/admin#reactions/2"
       assert data["object"] == activity.data["object"]
       assert data["content"] == "👌"
     end
 
+    test "it reject invalid emoji reactions" do
+      user = insert(:user)
+      {:ok, activity} = CommonAPI.post(user, %{"status" => "hello"})
+
+      data =
+        File.read!("test/fixtures/emoji-reaction-too-long.json")
+        |> Poison.decode!()
+        |> Map.put("object", activity.data["object"])
+
+      assert :error = Transmogrifier.handle_incoming(data)
+
+      data =
+        File.read!("test/fixtures/emoji-reaction-no-emoji.json")
+        |> Poison.decode!()
+        |> Map.put("object", activity.data["object"])
+
+      assert :error = Transmogrifier.handle_incoming(data)
+    end
+
     test "it works for incoming emoji reaction undos" do
       user = insert(:user)