Add direct_note[_activity]_factory and a couple tests
[akkoma] / test / support / factory.ex
index 8e21e2562da62cc47ee5b34ccece059cbbed7ea0..47626cb3e5595666aa008b6747dccd361d291ff7 100644 (file)
@@ -45,6 +45,33 @@ defmodule Pleroma.Factory do
     }
   end
 
+  def direct_note_factory do
+    user2 = insert(:user)
+
+    %Pleroma.Object{data: data} = note_factory()
+    %Pleroma.Object{data: Map.merge(data, %{"to" => [user2.ap_id]})}
+  end
+
+  def direct_note_activity_factory do
+    dm = insert(:direct_note)
+
+    data = %{
+      "id" => Pleroma.Web.ActivityPub.Utils.generate_activity_id(),
+      "type" => "Create",
+      "actor" => dm.data["actor"],
+      "to" => dm.data["to"],
+      "object" => dm.data,
+      "published" => DateTime.utc_now() |> DateTime.to_iso8601(),
+      "context" => dm.data["context"]
+    }
+
+    %Pleroma.Activity{
+      data: data,
+      actor: data["actor"],
+      recipients: data["to"]
+    }
+  end
+
   def note_activity_factory do
     note = insert(:note)