Fix MRF policies to also work with Update
[akkoma] / test / pleroma / web / activity_pub / object_validators / block_validation_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidationTest do
6 use Pleroma.DataCase, async: true
7
8 alias Pleroma.Web.ActivityPub.Builder
9 alias Pleroma.Web.ActivityPub.ObjectValidator
10
11 import Pleroma.Factory
12
13 describe "blocks" do
14 setup do
15 user = insert(:user, local: false)
16 blocked = insert(:user)
17
18 {:ok, valid_block, []} = Builder.block(user, blocked)
19
20 %{user: user, valid_block: valid_block}
21 end
22
23 test "validates a basic object", %{
24 valid_block: valid_block
25 } do
26 assert {:ok, _block, []} = ObjectValidator.validate(valid_block, [])
27 end
28
29 test "returns an error if we don't know the blocked user", %{
30 valid_block: valid_block
31 } do
32 block =
33 valid_block
34 |> Map.put("object", "https://gensokyo.2hu/users/raymoo")
35
36 assert {:error, _cng} = ObjectValidator.validate(block, [])
37 end
38 end
39 end