diff options
Diffstat (limited to 'test/workers/cron')
| -rw-r--r-- | test/workers/cron/purge_expired_activities_worker_test.exs | 30 | 
1 files changed, 29 insertions, 1 deletions
| diff --git a/test/workers/cron/purge_expired_activities_worker_test.exs b/test/workers/cron/purge_expired_activities_worker_test.exs index 5864f9e5f..b1db59fdf 100644 --- a/test/workers/cron/purge_expired_activities_worker_test.exs +++ b/test/workers/cron/purge_expired_activities_worker_test.exs @@ -11,7 +11,9 @@ defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do    import Pleroma.Factory    import ExUnit.CaptureLog -  setup do: clear_config([ActivityExpiration, :enabled]) +  setup do +    clear_config([ActivityExpiration, :enabled]) +  end    test "deletes an expiration activity" do      Pleroma.Config.put([ActivityExpiration, :enabled], true) @@ -36,6 +38,32 @@ defmodule Pleroma.Workers.Cron.PurgeExpiredActivitiesWorkerTest do      refute Pleroma.Repo.get(Pleroma.ActivityExpiration, expiration.id)    end +  test "works with ActivityExpirationPolicy" do +    Pleroma.Config.put([ActivityExpiration, :enabled], true) + +    clear_config([:mrf, :policies], Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy) + +    user = insert(:user) + +    days = Pleroma.Config.get([:mrf_activity_expiration, :days], 365) + +    {:ok, %{id: id} = activity} = Pleroma.Web.CommonAPI.post(user, %{status: "cofe"}) + +    past_date = +      NaiveDateTime.utc_now() |> Timex.shift(days: -days) |> NaiveDateTime.truncate(:second) + +    activity +    |> Repo.preload(:expiration) +    |> Map.get(:expiration) +    |> Ecto.Changeset.change(%{scheduled_at: past_date}) +    |> Repo.update!() + +    Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker.perform(:ops, :pid) + +    assert [%{data: %{"type" => "Delete", "deleted_activity_id" => ^id}}] = +             Pleroma.Repo.all(Pleroma.Activity) +  end +    describe "delete_activity/1" do      test "adds log message if activity isn't find" do        assert capture_log([level: :error], fn -> | 
