logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

scheduled_activity_worker_test.exs (1435B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Workers.ScheduledActivityWorkerTest do
  5. use Pleroma.DataCase
  6. alias Pleroma.ScheduledActivity
  7. alias Pleroma.Workers.ScheduledActivityWorker
  8. import Pleroma.Factory
  9. import ExUnit.CaptureLog
  10. setup do: clear_config([ScheduledActivity, :enabled], true)
  11. test "creates a status from the scheduled activity" do
  12. user = insert(:user)
  13. naive_datetime =
  14. NaiveDateTime.add(
  15. NaiveDateTime.utc_now(),
  16. -:timer.minutes(2),
  17. :millisecond
  18. )
  19. scheduled_activity =
  20. insert(
  21. :scheduled_activity,
  22. scheduled_at: naive_datetime,
  23. user: user,
  24. params: %{status: "hi"}
  25. )
  26. {:ok, %{id: activity_id}} =
  27. ScheduledActivityWorker.perform(%Oban.Job{args: %{"activity_id" => scheduled_activity.id}})
  28. refute Repo.get(ScheduledActivity, scheduled_activity.id)
  29. object =
  30. Pleroma.Activity
  31. |> Repo.get(activity_id)
  32. |> Pleroma.Object.normalize()
  33. assert object.data["content"] == "hi"
  34. end
  35. test "error message for non-existent scheduled activity" do
  36. assert capture_log([level: :error], fn ->
  37. ScheduledActivityWorker.perform(%Oban.Job{args: %{"activity_id" => 42}})
  38. end) =~ "Couldn't find scheduled activity: 42"
  39. end
  40. end