X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fuser_test.exs;h=1e73770df11789849429e66b2e0fdd2d2474800e;hb=f1b93b5be761826af9b833411689e9e0c086b815;hp=3d2f7f4e056b364203e0ee394730105c5c7558e6;hpb=4944498133d4a945650201226808b1f09d355014;p=akkoma diff --git a/test/user_test.exs b/test/user_test.exs index 3d2f7f4e0..1e73770df 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -1,19 +1,33 @@ defmodule Pleroma.UserTest do alias Pleroma.Builders.UserBuilder alias Pleroma.{User, Repo, Activity} - alias Pleroma.Web.OStatus - alias Pleroma.Web.Websub.WebsubClientSubscription alias Pleroma.Web.CommonAPI use Pleroma.DataCase import Pleroma.Factory - import Ecto.Query setup_all do Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end) :ok end + describe "when tags are nil" do + test "tagging a user" do + user = insert(:user, %{tags: nil}) + user = User.tag(user, ["cool", "dude"]) + + assert "cool" in user.tags + assert "dude" in user.tags + end + + test "untagging a user" do + user = insert(:user, %{tags: nil}) + user = User.untag(user, ["cool", "dude"]) + + assert user.tags == [] + end + end + test "ap_id returns the activity pub id for the user" do user = UserBuilder.build() @@ -163,6 +177,32 @@ defmodule Pleroma.UserTest do end end + describe "get_or_fetch/1" do + test "gets an existing user by nickname" do + user = insert(:user) + fetched_user = User.get_or_fetch(user.nickname) + + assert user == fetched_user + end + + test "gets an existing user by ap_id" do + ap_id = "http://mastodon.example.org/users/admin" + + user = + insert( + :user, + local: false, + nickname: "admin@mastodon.example.org", + ap_id: ap_id, + info: %{} + ) + + fetched_user = User.get_or_fetch(ap_id) + freshed_user = refresh_record(user) + assert freshed_user == fetched_user + end + end + describe "fetching a user from nickname or trying to build one" do test "gets an existing user" do user = insert(:user) @@ -574,7 +614,7 @@ defmodule Pleroma.UserTest do describe "caching" do test "invalidate_cache works" do user = insert(:user) - user_info = User.get_cached_user_info(user) + _user_info = User.get_cached_user_info(user) User.invalidate_cache(user) @@ -600,9 +640,9 @@ defmodule Pleroma.UserTest do describe "User.search" do test "finds a user, ranking by similarity" do - user = insert(:user, %{name: "lain"}) - user_two = insert(:user, %{name: "ean"}) - user_three = insert(:user, %{name: "ebn", nickname: "lain@mastodon.social"}) + _user = insert(:user, %{name: "lain"}) + _user_two = insert(:user, %{name: "ean"}) + _user_three = insert(:user, %{name: "ebn", nickname: "lain@mastodon.social"}) user_four = insert(:user, %{nickname: "lain@pleroma.soykaf.com"}) assert user_four ==