Fixing up deletes a bit (#327)
[akkoma] / test / pleroma / object / pruner_test.exs
1 defmodule Pleroma.Object.PrunerTest do
2 use Pleroma.DataCase, async: true
3
4 alias Pleroma.Delivery
5 alias Pleroma.Object
6 alias Pleroma.Object.Pruner
7
8 import Pleroma.Factory
9
10 describe "prune_deletes" do
11 test "it prunes old delete objects" do
12 new_tombstone = insert(:tombstone)
13
14 old_tombstone =
15 insert(:tombstone,
16 inserted_at: DateTime.utc_now() |> DateTime.add(-31 * 24, :hour)
17 )
18
19 Pruner.prune_tombstones()
20 assert Object.get_by_id(new_tombstone.id)
21 refute Object.get_by_id(old_tombstone.id)
22 end
23 end
24
25 describe "prune_tombstoned_deliveries" do
26 test "it prunes old tombstone deliveries" do
27 user = insert(:user)
28
29 tombstone = insert(:tombstone)
30 tombstoned = insert(:delivery, object: tombstone, user: user)
31
32 note = insert(:note)
33 not_tombstoned = insert(:delivery, object: note, user: user)
34
35 Pruner.prune_tombstoned_deliveries()
36
37 refute Repo.get(Delivery, tombstoned.id)
38 assert Repo.get(Delivery, not_tombstoned.id)
39 end
40 end
41 end