forked from AkkomaGang/akkoma
43 lines
1.2 KiB
Elixir
43 lines
1.2 KiB
Elixir
defmodule Pleroma.Web.ActivityPub.MRF.DirectMessageDisabledPolicyTest do
|
|
use Pleroma.DataCase
|
|
import Pleroma.Factory
|
|
|
|
alias Pleroma.Web.ActivityPub.MRF.DirectMessageDisabledPolicy
|
|
alias Pleroma.User
|
|
|
|
describe "strips recipients" do
|
|
test "when the user denies the direct message" do
|
|
sender = insert(:user)
|
|
recipient = insert(:user, %{accepts_direct_messages_from: :nobody})
|
|
|
|
refute User.accepts_direct_messages?(recipient, sender)
|
|
|
|
message = %{
|
|
"actor" => sender.ap_id,
|
|
"to" => [recipient.ap_id],
|
|
"cc" => [],
|
|
"type" => "Create"
|
|
}
|
|
|
|
assert {:ok, %{"to" => []}} = DirectMessageDisabledPolicy.filter(message)
|
|
end
|
|
|
|
test "when the user does not deny the direct message" do
|
|
sender = insert(:user)
|
|
recipient = insert(:user, %{accepts_direct_messages_from: :everybody})
|
|
|
|
assert User.accepts_direct_messages?(recipient, sender)
|
|
|
|
message = %{
|
|
"actor" => sender.ap_id,
|
|
"to" => [recipient.ap_id],
|
|
"cc" => [],
|
|
"type" => "Create"
|
|
}
|
|
|
|
assert {:ok, message} = DirectMessageDisabledPolicy.filter(message)
|
|
assert message["to"] == [recipient.ap_id]
|
|
end
|
|
end
|
|
end
|