move to 2.5.5
[anni] / test / pleroma / workers / purge_expired_filter_test.exs
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
5 defmodule Pleroma.Workers.PurgeExpiredFilterTest do
6   use Pleroma.DataCase, async: true
7   use Oban.Testing, repo: Repo
8
9   import Pleroma.Factory
10
11   test "purges expired filter" do
12     %{id: user_id} = insert(:user)
13
14     {:ok, %{id: id}} =
15       Pleroma.Filter.create(%{
16         user_id: user_id,
17         phrase: "cofe",
18         context: ["home"],
19         expires_in: 600
20       })
21
22     assert_enqueued(
23       worker: Pleroma.Workers.PurgeExpiredFilter,
24       args: %{filter_id: id}
25     )
26
27     assert {:ok, %{id: ^id}} =
28              perform_job(Pleroma.Workers.PurgeExpiredFilter, %{
29                filter_id: id
30              })
31
32     assert Repo.aggregate(Pleroma.Filter, :count, :id) == 0
33   end
34 end