diff options
author | Roman Chvanikov <chvanikoff@gmail.com> | 2019-05-08 17:08:06 +0700 |
---|---|---|
committer | Roman Chvanikov <chvanikoff@gmail.com> | 2019-05-08 17:08:06 +0700 |
commit | b6b5b16ba4d65ecd9812b02d79f844548266eb8b (patch) | |
tree | 790623e31fed199f04168bcbddb4222a4bfb0a3a /test/repo_test.exs | |
parent | 0f0cc2703b7ffb99c58e72782925ea4dd61db41d (diff) | |
parent | 14deed7f7d0b88d5c8ac19bb3de467429c289746 (diff) | |
download | pleroma-b6b5b16ba4d65ecd9812b02d79f844548266eb8b.tar.gz pleroma-b6b5b16ba4d65ecd9812b02d79f844548266eb8b.zip |
Merge develop
Diffstat (limited to 'test/repo_test.exs')
-rw-r--r-- | test/repo_test.exs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/repo_test.exs b/test/repo_test.exs new file mode 100644 index 000000000..5382289c7 --- /dev/null +++ b/test/repo_test.exs @@ -0,0 +1,44 @@ +defmodule Pleroma.RepoTest do + use Pleroma.DataCase + import Pleroma.Factory + + describe "find_resource/1" do + test "returns user" do + user = insert(:user) + query = from(t in Pleroma.User, where: t.id == ^user.id) + assert Repo.find_resource(query) == {:ok, user} + end + + test "returns not_found" do + query = from(t in Pleroma.User, where: t.id == ^"9gBuXNpD2NyDmmxxdw") + assert Repo.find_resource(query) == {:error, :not_found} + end + end + + describe "get_assoc/2" do + test "get assoc from preloaded data" do + user = %Pleroma.User{name: "Agent Smith"} + token = %Pleroma.Web.OAuth.Token{insert(:oauth_token) | user: user} + assert Repo.get_assoc(token, :user) == {:ok, user} + end + + test "get one-to-one assoc from repo" do + user = insert(:user, name: "Jimi Hendrix") + token = refresh_record(insert(:oauth_token, user: user)) + + assert Repo.get_assoc(token, :user) == {:ok, user} + end + + test "get one-to-many assoc from repo" do + user = insert(:user) + notification = refresh_record(insert(:notification, user: user)) + + assert Repo.get_assoc(user, :notifications) == {:ok, [notification]} + end + + test "return error if has not assoc " do + token = insert(:oauth_token, user: nil) + assert Repo.get_assoc(token, :user) == {:error, :not_found} + end + end +end |