summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriadne Conill <ariadne@dereferenced.org>2019-10-05 20:11:43 +0000
committerAriadne Conill <ariadne@dereferenced.org>2019-10-19 23:21:37 +0000
commit95871cb4628933900f2004a8bece1b929d5525bf (patch)
tree90f5cfc59424770f6627157ead8e83fa66a98257
parent1469a084d4c95d24619f88c462601570f85ecfa2 (diff)
downloadpleroma-95871cb4628933900f2004a8bece1b929d5525bf.tar.gz
pleroma-95871cb4628933900f2004a8bece1b929d5525bf.zip
user: implement User.invisible?/1
-rw-r--r--lib/pleroma/user.ex3
-rw-r--r--test/user_test.exs14
2 files changed, 17 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index ec705b8f6..2bbfaa55b 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -88,6 +88,9 @@ defmodule Pleroma.User do
def superuser?(%User{local: true, info: %User.Info{is_moderator: true}}), do: true
def superuser?(_), do: false
+ def invisible?(%User{info: %User.Info{invisible: true}}), do: true
+ def invisible?(_), do: false
+
def avatar_url(user, options \\ []) do
case user.avatar do
%{"url" => [%{"href" => href} | _]} -> href
diff --git a/test/user_test.exs b/test/user_test.exs
index ad050b7da..05bdb9a61 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -1232,6 +1232,20 @@ defmodule Pleroma.UserTest do
end
end
+ describe "invisible?/1" do
+ test "returns true for an invisible user" do
+ user = insert(:user, local: true, info: %{invisible: true})
+
+ assert User.invisible?(user)
+ end
+
+ test "returns false for a non-invisible user" do
+ user = insert(:user, local: true)
+
+ refute User.invisible?(user)
+ end
+ end
+
describe "visible_for?/2" do
test "returns true when the account is itself" do
user = insert(:user, local: true)