ObjectValidator: Basic `Block` support.
[akkoma] / test / web / activity_pub / object_validator_test.exs
index 770a8dcf8e34a4a0e2116b47ec91bd4b92e46927..e9655276354a0257ebed20c01ed7d2933365e6bb 100644 (file)
@@ -654,4 +654,31 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do
       assert {:error, _cng} = ObjectValidator.validate(update, [])
     end
   end
+
+  describe "blocks" do
+    setup do
+      user = insert(:user)
+      blocked = insert(:user)
+
+      {:ok, valid_block, []} = Builder.block(user, blocked)
+
+      %{user: user, valid_block: valid_block}
+    end
+
+    test "validates a basic object", %{
+      valid_block: valid_block
+    } do
+      assert {:ok, _block, []} = ObjectValidator.validate(valid_block, [])
+    end
+
+    test "returns an error if we don't know the blocked user", %{
+      valid_block: valid_block
+    } do
+      block =
+        valid_block
+        |> Map.put("object", "https://gensokyo.2hu/users/raymoo")
+
+      assert {:error, _cng} = ObjectValidator.validate(block, [])
+    end
+  end
 end