6f17d6f6cbe60d552ed1bd23472f3ebcaf310664
[akkoma] / test / workers / cron / scheduled_activity_worker_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Workers.Cron.ScheduledActivityWorkerTest do
6 use Pleroma.DataCase
7 alias Pleroma.ScheduledActivity
8 import Pleroma.Factory
9
10 clear_config([ScheduledActivity, :enabled])
11
12 test "creates a status from the scheduled activity" do
13 Pleroma.Config.put([ScheduledActivity, :enabled], true)
14 user = insert(:user)
15
16 naive_datetime =
17 NaiveDateTime.add(
18 NaiveDateTime.utc_now(),
19 -:timer.minutes(2),
20 :millisecond
21 )
22
23 scheduled_activity =
24 insert(
25 :scheduled_activity,
26 scheduled_at: naive_datetime,
27 user: user,
28 params: %{status: "hi"}
29 )
30
31 Pleroma.Workers.Cron.ScheduledActivityWorker.perform(:opts, :pid)
32
33 refute Repo.get(ScheduledActivity, scheduled_activity.id)
34 activity = Repo.all(Pleroma.Activity) |> Enum.find(&(&1.actor == user.ap_id))
35 assert Pleroma.Object.normalize(activity).data["content"] == "hi"
36 end
37 end