Add test for friendica featured collection
[akkoma] / test / pleroma / web / activity_pub / activity_pub_test.exs
index 574ef0d7155da69623db2c7488495e5735a87e4a..b21b9ee283969b893bb92f58f80d0663890b5e8c 100644 (file)
@@ -314,6 +314,46 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
     end
   end
 
+  test "fetches user featured collection using the first property" do
+    ap_id = "https://friendica.example.com/raha"
+    featured_url = "https://friendica.example.com/raha/collections/featured"
+    first_url = "https://friendica.mnementh.co.uk/featured/spyro?page=1"
+
+    featured_data =
+      "test/fixtures/friendica/friendica_featured_collection.json"
+      |> File.read!()
+
+    page_data =
+      "test/fixtures/friendica/friendica_featured_collection.json"
+      |> File.read!()
+
+    Tesla.Mock.mock(fn
+      %{
+        method: :get,
+        url: ^featured_url
+      } ->
+        %Tesla.Env{
+          status: 200,
+          body: featured_data,
+          headers: [{"content-type", "application/activity+json"}]
+        }
+    end)
+
+    Tesla.Mock.mock_global(fn
+      %{
+        method: :get,
+        url: ^first_url
+      } ->
+        %Tesla.Env{
+          status: 200,
+          body: page_data,
+          headers: [{"content-type", "application/activity+json"}]
+        }
+    end)
+
+    {:ok, data} = ActivityPub.fetch_and_prepare_featured_from_ap_id(featured_url)
+  end
+
   test "it fetches the appropriate tag-restricted posts" do
     user = insert(:user)