summaryrefslogtreecommitdiff
path: root/test/user_test.exs
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2019-07-31 14:12:29 +0300
committerrinpatch <rinpatch@sdf.org>2019-07-31 14:12:29 +0300
commitc88a5d32514f4ed78e4b9216198db62e8799ffe4 (patch)
treebc979f2522156be74138491114892e7acbeaafcb /test/user_test.exs
parent41e0304757c5a0d9778f7e685c9ddf481f0e15cb (diff)
parent66575061851f13355958fd292ee545462bf191c0 (diff)
downloadpleroma-c88a5d32514f4ed78e4b9216198db62e8799ffe4.tar.gz
pleroma-c88a5d32514f4ed78e4b9216198db62e8799ffe4.zip
Merge branch 'develop' into feature/hide-follows-remote
Diffstat (limited to 'test/user_test.exs')
-rw-r--r--test/user_test.exs24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/user_test.exs b/test/user_test.exs
index 8a7b7537f..556df45fd 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -1369,4 +1369,28 @@ defmodule Pleroma.UserTest do
assert User.is_internal_user?(user)
end
end
+
+ describe "update_and_set_cache/1" do
+ test "returns error when user is stale instead Ecto.StaleEntryError" do
+ user = insert(:user)
+
+ changeset = Ecto.Changeset.change(user, bio: "test")
+
+ Repo.delete(user)
+
+ assert {:error, %Ecto.Changeset{errors: [id: {"is stale", [stale: true]}], valid?: false}} =
+ User.update_and_set_cache(changeset)
+ end
+
+ test "performs update cache if user updated" do
+ user = insert(:user)
+ assert {:ok, nil} = Cachex.get(:user_cache, "ap_id:#{user.ap_id}")
+
+ changeset = Ecto.Changeset.change(user, bio: "test-bio")
+
+ assert {:ok, %User{bio: "test-bio"} = user} = User.update_and_set_cache(changeset)
+ assert {:ok, user} = Cachex.get(:user_cache, "ap_id:#{user.ap_id}")
+ assert %User{bio: "test-bio"} = User.get_cached_by_ap_id(user.ap_id)
+ end
+ end
end