Merge remote-tracking branch 'upstream/develop' into email-fix-develop
[akkoma] / test / workers / purge_expired_activity_test.exs
index 8b5dc9fd208d694d64cbd90f772fe35f3a3c4844..b5938776db4780aa2195287ea48307e33b320fed 100644 (file)
@@ -10,22 +10,27 @@ defmodule Pleroma.Workers.PurgeExpiredActivityTest do
 
   alias Pleroma.Workers.PurgeExpiredActivity
 
-  test "denies expirations that don't live long enough" do
+  test "enqueue job" do
     activity = insert(:note_activity)
 
-    assert {:error, :expiration_too_close} =
+    assert {:ok, _} =
              PurgeExpiredActivity.enqueue(%{
                activity_id: activity.id,
-               expires_at: DateTime.utc_now()
+               expires_at: DateTime.add(DateTime.utc_now(), 3601)
              })
 
-    refute_enqueued(
+    assert_enqueued(
       worker: Pleroma.Workers.PurgeExpiredActivity,
       args: %{activity_id: activity.id}
     )
+
+    assert {:ok, _} =
+             perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: activity.id})
+
+    assert %Oban.Job{} = Pleroma.Workers.PurgeExpiredActivity.get_expiration(activity.id)
   end
 
-  test "enqueue job" do
+  test "error if user was not found" do
     activity = insert(:note_activity)
 
     assert {:ok, _} =
@@ -34,14 +39,21 @@ defmodule Pleroma.Workers.PurgeExpiredActivityTest do
                expires_at: DateTime.add(DateTime.utc_now(), 3601)
              })
 
-    assert_enqueued(
-      worker: Pleroma.Workers.PurgeExpiredActivity,
-      args: %{activity_id: activity.id}
-    )
+    user = Pleroma.User.get_by_ap_id(activity.actor)
+    Pleroma.Repo.delete(user)
 
-    assert {:ok, _} =
+    assert {:error, :user_not_found} =
              perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: activity.id})
+  end
 
-    assert %Oban.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 {:error, :activity_not_found} =
+             perform_job(Pleroma.Workers.PurgeExpiredActivity, %{activity_id: "some_if"})
   end
 end