diff options
author | rinpatch <rinpatch@sdf.org> | 2019-02-10 07:39:27 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2019-02-10 07:39:27 +0000 |
commit | e0de0fcf2243006c505014b9477412f9f3bd97ec (patch) | |
tree | ab3535323f3bb5cc959fa9ed7b142dc668e4b1a7 /test | |
parent | d5fe05c37e2055d31bb8e0f6a342614e436d4668 (diff) | |
parent | f8388be9c69981958e9a96dce68fc39bdedb5cd3 (diff) | |
download | pleroma-e0de0fcf2243006c505014b9477412f9f3bd97ec.tar.gz |
Merge branch 'object-creation' into 'develop'
Do object insertion through Cachex
See merge request pleroma/pleroma!802
Diffstat (limited to 'test')
-rw-r--r-- | test/object_test.exs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/object_test.exs b/test/object_test.exs index 72194975d..ab6431012 100644 --- a/test/object_test.exs +++ b/test/object_test.exs @@ -57,4 +57,32 @@ defmodule Pleroma.ObjectTest do assert cached_object.data["type"] == "Tombstone" end end + + describe "insert_or_get" do + test "inserting the same object twice (by id) just returns the original object" do + data = %{data: %{"id" => Ecto.UUID.generate()}} + cng = Object.change(%Object{}, data) + {:ok, object} = Object.insert_or_get(cng) + {:ok, second_object} = Object.insert_or_get(cng) + + Cachex.clear(:object_cache) + {:ok, third_object} = Object.insert_or_get(cng) + + assert object == second_object + assert object == third_object + end + end + + describe "create" do + test "inserts an object for a given data set" do + data = %{"id" => Ecto.UUID.generate()} + + {:ok, object} = Object.create(data) + assert object.data["id"] == data["id"] + + # Works when doing it twice. + {:ok, object} = Object.create(data) + assert object.data["id"] == data["id"] + end + end end |