Remote Timeline: add Streaming support
[akkoma] / test / workers / purge_expired_activity_test.exs
index 736d7d5673e4bbf7dc847b8cd19a13f35dd92306..b5938776db4780aa2195287ea48307e33b320fed 100644 (file)
@@ -10,21 +10,6 @@ defmodule Pleroma.Workers.PurgeExpiredActivityTest do
 
   alias Pleroma.Workers.PurgeExpiredActivity
 
-  test "denies expirations that don't live long enough" do
-    activity = insert(:note_activity)
-
-    assert {:error, :expiration_too_close} =
-             PurgeExpiredActivity.enqueue(%{
-               activity_id: activity.id,
-               expires_at: DateTime.utc_now()
-             })
-
-    refute_enqueued(
-      worker: Pleroma.Workers.PurgeExpiredActivity,
-      args: %{activity_id: activity.id}
-    )
-  end
-
   test "enqueue job" do
     activity = insert(:note_activity)
 
@@ -45,24 +30,30 @@ defmodule Pleroma.Workers.PurgeExpiredActivityTest do
     assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id)
   end
 
-  test "don't delete pinned posts, schedule deletion on next day" do
+  test "error if user was not found" do
     activity = insert(:note_activity)
 
     assert {:ok, _} =
              PurgeExpiredActivity.enqueue(%{
                activity_id: activity.id,
-               expires_at: DateTime.utc_now(),
-               validate: false
+               expires_at: DateTime.add(DateTime.utc_now(), 3601)
              })
 
     user = Pleroma.User.get_by_ap_id(activity.actor)
-    {:ok, activity} = Pleroma.Web.CommonAPI.pin(activity.id, user)
+    Pleroma.Repo.delete(user)
 
-    assert %{success: 1, failure: 0} ==
-             Oban.drain_queue(queue: :activity_expiration, with_scheduled: true)
+    assert {:error, :user_not_found} =
+             perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: activity.id})
+  end
 
-    job = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id)
+  test "error if actiivity was not found" do
+    assert {:ok, _} =
+             PurgeExpiredActivity.enqueue(%{
+               activity_id: "some_id",
+               expires_at: DateTime.add(DateTime.utc_now(), 3601)
+             })
 
-    assert DateTime.diff(job.scheduled_at, DateTime.add(DateTime.utc_now(), 24 * 3600)) in [0, 1]
+    assert {:error, :activity_not_found} =
+             perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: "some_if"})
   end
 end