blob: 909605560e6d8015b41e2eb38b583346f51da952 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 | defmodule Pleroma.ObjectTest do
  use Pleroma.DataCase
  import Pleroma.Factory
  alias Pleroma.{Repo, Object}
  test "returns an object by it's AP id" do
    object = insert(:note)
    found_object = Object.get_by_ap_id(object.data["id"])
    assert object == found_object
  end
  describe "generic changeset" do
    test "it ensures uniqueness of the id" do
      object = insert(:note)
      cs = Object.change(%Object{}, %{data: %{id: object.data["id"]}})
      assert cs.valid?
      {:error, _result} = Repo.insert(cs)
    end
  end
  describe "deletion function" do
    test "deletes an object" do
      object = insert(:note)
      found_object = Object.get_by_ap_id(object.data["id"])
      assert object == found_object
      Object.delete(found_object)
      found_object = Object.get_by_ap_id(object.data["id"])
      refute object == found_object
    end
    test "ensures cache is cleared for the object" do
      object = insert(:note)
      cached_object = Object.get_cached_by_ap_id(object.data["id"])
      assert object == cached_object
      Object.delete(cached_object)
      {:ok, nil} = Cachex.get(:object_cache, "object:#{object.data["id"]}")
      cached_object = Object.get_cached_by_ap_id(object.data["id"])
      refute object == cached_object
    end
  end
end
 |