1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Workers.ScheduledActivityWorkerTest do
8 alias Pleroma.ScheduledActivity
9 alias Pleroma.Workers.ScheduledActivityWorker
11 import Pleroma.Factory
12 import ExUnit.CaptureLog
14 setup do: clear_config([ScheduledActivity, :enabled])
16 test "creates a status from the scheduled activity" do
17 Pleroma.Config.put([ScheduledActivity, :enabled], true)
22 NaiveDateTime.utc_now(),
30 scheduled_at: naive_datetime,
32 params: %{status: "hi"}
35 ScheduledActivityWorker.perform(
36 %{"activity_id" => scheduled_activity.id},
40 refute Repo.get(ScheduledActivity, scheduled_activity.id)
41 activity = Repo.all(Pleroma.Activity) |> Enum.find(&(&1.actor == user.ap_id))
42 assert Pleroma.Object.normalize(activity).data["content"] == "hi"
45 test "adds log message if ScheduledActivity isn't find" do
46 Pleroma.Config.put([ScheduledActivity, :enabled], true)
48 assert capture_log([level: :error], fn ->
49 ScheduledActivityWorker.perform(%{"activity_id" => 42}, :pid)
50 end) =~ "Couldn't find scheduled activity"