search indexing metadata respects discoverable flag
[akkoma] / test / web / metadata / metadata_test.exs
index 3f8b29e581b64d4714a97637b57bef808a89cd8d..fe30096289c48bd0469dd8e94ada0fe9e85fae63 100644 (file)
@@ -18,8 +18,32 @@ defmodule Pleroma.Web.MetadataTest do
     test "for local user" do
       user = insert(:user)
 
+      assert Pleroma.Web.Metadata.build_tags(%{user: user}) =~
+               "<meta content=\"noindex, noarchive\" name=\"robots\">"
+    end
+
+    test "for local user set to discoverable" do
+      user = insert(:user, discoverable: true)
+
       refute Pleroma.Web.Metadata.build_tags(%{user: user}) =~
                "<meta content=\"noindex, noarchive\" name=\"robots\">"
     end
   end
+
+  describe "no metadata for private instances" do
+    test "for local user set to discoverable" do
+      clear_config([:instance, :public], false)
+      user = insert(:user, bio: "This is my secret fedi account bio", discoverable: true)
+
+      assert "" = Pleroma.Web.Metadata.build_tags(%{user: user})
+    end
+
+    test "search exclusion metadata is included" do
+      clear_config([:instance, :public], false)
+      user = insert(:user, bio: "This is my secret fedi account bio")
+
+      assert "<meta content=\"noindex, noarchive\" name=\"robots\">" ==
+               Pleroma.Web.Metadata.build_tags(%{user: user})
+    end
+  end
 end