summaryrefslogtreecommitdiff
path: root/test/web/activity_pub
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-06-04 14:58:13 +0000
committerlain <lain@soykaf.club>2019-06-04 14:58:13 +0000
commitf178a6f3f0d152a5e75c82da08195ee2d7fd3612 (patch)
tree3adf7ccf852cf4f4f12804a5f4427583905e17b7 /test/web/activity_pub
parent0eb7464c10df109e8aacf734bb092f69192ab5c2 (diff)
parent1e7bb69a957c279eb75ed72cca779caa9d8f25ce (diff)
downloadpleroma-f178a6f3f0d152a5e75c82da08195ee2d7fd3612.tar.gz
pleroma-f178a6f3f0d152a5e75c82da08195ee2d7fd3612.zip
Merge branch 'issue/941' into 'develop'
[#941] add option skip_thread_containment See merge request pleroma/pleroma!1237
Diffstat (limited to 'test/web/activity_pub')
-rw-r--r--test/web/activity_pub/visibilty_test.exs43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/web/activity_pub/visibilty_test.exs b/test/web/activity_pub/visibilty_test.exs
index 466d980dc..e24df3cab 100644
--- a/test/web/activity_pub/visibilty_test.exs
+++ b/test/web/activity_pub/visibilty_test.exs
@@ -1,6 +1,7 @@
defmodule Pleroma.Web.ActivityPub.VisibilityTest do
use Pleroma.DataCase
+ alias Pleroma.Activity
alias Pleroma.Web.ActivityPub.Visibility
alias Pleroma.Web.CommonAPI
import Pleroma.Factory
@@ -121,4 +122,46 @@ defmodule Pleroma.Web.ActivityPub.VisibilityTest do
test "get_visibility with directMessage flag" do
assert Visibility.get_visibility(%{data: %{"directMessage" => true}}) == "direct"
end
+
+ describe "entire_thread_visible_for_user?/2" do
+ test "returns false if not found activity", %{user: user} do
+ refute Visibility.entire_thread_visible_for_user?(%Activity{}, user)
+ end
+
+ test "returns true if activity hasn't 'Create' type", %{user: user} do
+ activity = insert(:like_activity)
+ assert Visibility.entire_thread_visible_for_user?(activity, user)
+ end
+
+ test "returns false when invalid recipients", %{user: user} do
+ author = insert(:user)
+
+ activity =
+ insert(:note_activity,
+ note:
+ insert(:note,
+ user: author,
+ data: %{"to" => ["test-user"]}
+ )
+ )
+
+ refute Visibility.entire_thread_visible_for_user?(activity, user)
+ end
+
+ test "returns true if user following to author" do
+ author = insert(:user)
+ user = insert(:user, following: [author.ap_id])
+
+ activity =
+ insert(:note_activity,
+ note:
+ insert(:note,
+ user: author,
+ data: %{"to" => [user.ap_id]}
+ )
+ )
+
+ assert Visibility.entire_thread_visible_for_user?(activity, user)
+ end
+ end
end