aboutsummaryrefslogtreecommitdiff
path: root/test/object_test.exs
diff options
context:
space:
mode:
authorEgor Kislitsyn <egor@kislitsyn.com>2019-02-11 13:54:21 +0700
committerEgor Kislitsyn <egor@kislitsyn.com>2019-02-11 13:54:21 +0700
commit305d2194136d4560e02c110d528164034d3727b2 (patch)
tree40510e1c4dc0140ff16e2fdc483da64c83b7077c /test/object_test.exs
parent5b1d7c3c5672af065af503891d156b6e0cf5a8c1 (diff)
parent06c4935c11fc58f5ede18706bc46dcc502e64052 (diff)
downloadpleroma-305d2194136d4560e02c110d528164034d3727b2.tar.gz
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into feature/jobs
# Conflicts: # lib/pleroma/web/federator/federator.ex # lib/pleroma/web/websub/websub.ex
Diffstat (limited to 'test/object_test.exs')
-rw-r--r--test/object_test.exs28
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