+
+ def announcement_factory(params \\ %{}) do
+ data = Map.get(params, :data, %{})
+
+ {_, params} = Map.pop(params, :data)
+
+ %Pleroma.Announcement{
+ data: Map.merge(%{"content" => "test announcement", "all_day" => false}, data)
+ }
+ |> Map.merge(params)
+ |> Pleroma.Announcement.add_rendered_properties()
+ end
+
+ def frontend_setting_profile_factory(params \\ %{}) do
+ %Pleroma.Akkoma.FrontendSettingsProfile{
+ user: build(:user),
+ frontend_name: "akkoma-fe",
+ profile_name: "default",
+ settings: %{"test" => "test"},
+ version: 1
+ }
+ |> Map.merge(params)
+ end
+
+ def delivery_factory(params \\ %{}) do
+ object = Map.get(params, :object, build(:note))
+ user = Map.get(params, :user, build(:user))
+
+ %Pleroma.Delivery{
+ object: object,
+ user: user
+ }
+ end
+
+ def hashtag_factory(params \\ %{}) do
+ %Pleroma.Hashtag{
+ name: "test #{sequence(:hashtag_name, & &1)}"
+ }
+ |> Map.merge(params)
+ end