Merge pull request 'docs: Update links to list of akkoma instances' (#278) from norm...
[akkoma] / test / support / oban_helpers.ex
index 54b5a95662314a943fa0eecf9e34551235e310f9..9b6e5256e54ca7f981a15a240f0c6b0971a06375 100644 (file)
@@ -1,14 +1,27 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
-defmodule Pleroma.ObanHelpers do
+defmodule Pleroma.Tests.ObanHelpers do
   @moduledoc """
   Oban test helpers.
   """
 
+  require Ecto.Query
+
   alias Pleroma.Repo
 
+  def wipe_all do
+    Repo.delete_all(Oban.Job)
+  end
+
+  def perform_all do
+    Oban.Job
+    |> Ecto.Query.where(state: "available")
+    |> Repo.all()
+    |> perform()
+  end
+
   def perform(%Oban.Job{} = job) do
     res = apply(String.to_existing_atom("Elixir." <> job.worker), :perform, [job])
     Repo.delete(job)