aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriadne Conill <ariadne@dereferenced.org>2019-07-17 17:12:42 +0000
committerAriadne Conill <ariadne@dereferenced.org>2019-07-17 17:12:42 +0000
commit62e5ff624e1984b48eecaf2a6c14ad092013a13e (patch)
tree43e1df1241908e764baf0e1b9429924f9e5cfd14
parent0a6f6e1b5bf863fc23a90e6ef358129364bcacce (diff)
downloadpleroma-62e5ff624e1984b48eecaf2a6c14ad092013a13e.tar.gz
user: add is_internal_user? helper function
-rw-r--r--lib/pleroma/user.ex4
-rw-r--r--test/user_test.exs17
2 files changed, 21 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 463bb9ad4..c91fbb68a 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1410,4 +1410,8 @@ defmodule Pleroma.User do
end
defp put_password_hash(changeset), do: changeset
+
+ def is_internal_user?(%User{nickname: nil}), do: true
+ def is_internal_user?(%User{local: true, nickname: "internal." <> _}), do: true
+ def is_internal_user?(_), do: false
end
diff --git a/test/user_test.exs b/test/user_test.exs
index 264b7a40e..908f72a0e 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -1310,4 +1310,21 @@ defmodule Pleroma.UserTest do
assert following == 0
end
end
+
+ describe "is_internal_user?/1" do
+ test "non-internal user returns false" do
+ user = insert(:user)
+ refute User.is_internal_user?(user)
+ end
+
+ test "user with no nickname returns true" do
+ user = insert(:user, %{nickname: nil})
+ assert User.is_internal_user?(user)
+ end
+
+ test "user with internal-prefixed nickname returns true" do
+ user = insert(:user, %{nickname: "internal.test"})
+ assert User.is_internal_user?(user)
+ end
+ end
end