diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/support/factory.ex | 41 | 
1 files changed, 41 insertions, 0 deletions
diff --git a/test/support/factory.ex b/test/support/factory.ex index 719115003..4f3244025 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -71,6 +71,47 @@ defmodule Pleroma.Factory do      }    end +  def audio_factory(attrs \\ %{}) do +    text = sequence(:text, &"lain radio episode #{&1}") + +    user = attrs[:user] || insert(:user) + +    data = %{ +      "type" => "Audio", +      "id" => Pleroma.Web.ActivityPub.Utils.generate_object_id(), +      "artist" => "lain", +      "title" => text, +      "album" => "lain radio", +      "to" => ["https://www.w3.org/ns/activitystreams#Public"], +      "published" => DateTime.utc_now() |> DateTime.to_iso8601(), +      "actor" => user.ap_id, +      "length" => 180_000 +    } + +    %Pleroma.Object{ +      data: merge_attributes(data, Map.get(attrs, :data, %{})) +    } +  end + +  def listen_factory do +    audio = insert(:audio) + +    data = %{ +      "id" => Pleroma.Web.ActivityPub.Utils.generate_activity_id(), +      "type" => "Listen", +      "actor" => audio.data["actor"], +      "to" => audio.data["to"], +      "object" => audio.data, +      "published" => audio.data["published"] +    } + +    %Pleroma.Activity{ +      data: data, +      actor: data["actor"], +      recipients: data["to"] +    } +  end +    def direct_note_factory do      user2 = insert(:user)  | 
