Merge branch 'develop' into refactor/discoverable_user_field
[akkoma] / test / pleroma / web / metadata_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.MetadataTest do
6 use Pleroma.DataCase, async: true
7
8 import Pleroma.Factory
9
10 describe "restrict indexing remote users" do
11 test "for remote user" do
12 user = insert(:user, local: false)
13
14 assert Pleroma.Web.Metadata.build_tags(%{user: user}) =~
15 "<meta content=\"noindex, noarchive\" name=\"robots\">"
16 end
17
18 test "for local user" do
19 user = insert(:user, is_discoverable: false)
20
21 assert Pleroma.Web.Metadata.build_tags(%{user: user}) =~
22 "<meta content=\"noindex, noarchive\" name=\"robots\">"
23 end
24
25 test "for local user set to discoverable" do
26 user = insert(:user, is_discoverable: true)
27
28 refute Pleroma.Web.Metadata.build_tags(%{user: user}) =~
29 "<meta content=\"noindex, noarchive\" name=\"robots\">"
30 end
31 end
32
33 describe "no metadata for private instances" do
34 test "for local user set to discoverable" do
35 clear_config([:instance, :public], false)
36 user = insert(:user, bio: "This is my secret fedi account bio", is_discoverable: true)
37
38 assert "" = Pleroma.Web.Metadata.build_tags(%{user: user})
39 end
40
41 test "search exclusion metadata is included" do
42 clear_config([:instance, :public], false)
43 user = insert(:user, bio: "This is my secret fedi account bio", is_discoverable: false)
44
45 assert ~s(<meta content="noindex, noarchive" name="robots">) ==
46 Pleroma.Web.Metadata.build_tags(%{user: user})
47 end
48 end
49 end