X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fsupport%2Fbuilders%2Factivity_builder.ex;h=6e5a8e0594aab4a41e2980837aceca7b6158899e;hb=632dab5d30c39f4831b77bea9249b91b1b7b3347;hp=0b7f79c5f32f7d70b6a4e1df63dc5603451eb33a;hpb=9a8850eb9ec9eba9350fcb6aadf70fd966623c94;p=akkoma diff --git a/test/support/builders/activity_builder.ex b/test/support/builders/activity_builder.ex index 0b7f79c5f..6e5a8e059 100644 --- a/test/support/builders/activity_builder.ex +++ b/test/support/builders/activity_builder.ex @@ -1,29 +1,41 @@ defmodule Pleroma.Builders.ActivityBuilder do - alias Pleroma.Builders.UserBuilder alias Pleroma.Web.ActivityPub.ActivityPub - alias Pleroma.User - def public_and_non_public do - {:ok, user} = UserBuilder.insert - public = %{ - "id" => 1, + def build(data \\ %{}, opts \\ %{}) do + user = opts[:user] || Pleroma.Factory.insert(:user) + + activity = %{ + "id" => Pleroma.Web.ActivityPub.Utils.generate_object_id(), "actor" => user.ap_id, "to" => ["https://www.w3.org/ns/activitystreams#Public"], + "type" => "Create", "object" => %{ "type" => "Note", - "content" => "test" + "content" => "test", + "to" => ["https://www.w3.org/ns/activitystreams#Public"] } } - non_public = %{ - "id" => 2, - "actor" => user.ap_id, - "to" => [], - "object" => %{ - "type" => "Note", - "content" => "test" - } - } + Map.merge(activity, data) + end + + def insert(data \\ %{}, opts \\ %{}) do + activity = build(data, opts) + ActivityPub.insert(activity) + end + + def insert_list(times, data \\ %{}, opts \\ %{}) do + Enum.map(1..times, fn _n -> + {:ok, activity} = insert(data, opts) + activity + end) + end + + def public_and_non_public do + user = Pleroma.Factory.insert(:user) + + public = build(%{"id" => 1}, %{user: user}) + non_public = build(%{"id" => 2, "to" => [user.follower_address]}, %{user: user}) {:ok, public} = ActivityPub.insert(public) {:ok, non_public} = ActivityPub.insert(non_public)