ChatMessageValidator: Additional validation.
[akkoma] / test / web / activity_pub / object_validator_test.exs
index a3d43ef3cc7fb4914b6b6e95793dc16167c35b68..c1a87229751416b4f91885cb6aeb27410c9a3672 100644 (file)
@@ -223,6 +223,17 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do
       refute match?({:ok, _object, _meta}, ObjectValidator.validate(valid_chat_message, []))
     end
 
+    test "does not validate if the recipient is not accepting chat messages", %{
+      valid_chat_message: valid_chat_message,
+      recipient: recipient
+    } do
+      recipient
+      |> Ecto.Changeset.change(%{accepts_chat_messages: false})
+      |> Pleroma.Repo.update!()
+
+      refute match?({:ok, _object, _meta}, ObjectValidator.validate(valid_chat_message, []))
+    end
+
     test "does not validate if the actor or the recipient is not in our system", %{
       valid_chat_message: valid_chat_message
     } do
@@ -680,11 +691,5 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidatorTest do
 
       assert {:error, _cng} = ObjectValidator.validate(block, [])
     end
-
-    test "returns an error if don't accept remote blocks", %{valid_block: valid_block} do
-      clear_config([:activitypub, :unfollow_blocked], false)
-
-      assert {:error, _cng} = ObjectValidator.validate(valid_block, [])
-    end
   end
 end