diff options
| author | Tusooa Zhu <tusooa@kazv.moe> | 2022-08-27 19:34:56 -0400 | 
|---|---|---|
| committer | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2022-11-27 04:39:32 +0100 | 
| commit | 11d5ad24c5e316a9ba9f7de4c661d3af3b319c5c (patch) | |
| tree | 192d8f468fa3f403818fc9959b7f2e881c67bf20 /test | |
| parent | e46c3a0595f007470b8c6eb6bfeed65beb687596 (diff) | |
| download | pleroma-11d5ad24c5e316a9ba9f7de4c661d3af3b319c5c.tar.gz pleroma-11d5ad24c5e316a9ba9f7de4c661d3af3b319c5c.zip  | |
Make local-only posts stream in local timeline
Diffstat (limited to 'test')
| -rw-r--r-- | test/pleroma/activity/ir/topics_test.exs | 53 | 
1 files changed, 53 insertions, 0 deletions
diff --git a/test/pleroma/activity/ir/topics_test.exs b/test/pleroma/activity/ir/topics_test.exs index 416c23384..299fcae9d 100644 --- a/test/pleroma/activity/ir/topics_test.exs +++ b/test/pleroma/activity/ir/topics_test.exs @@ -137,6 +137,36 @@ defmodule Pleroma.Activity.Ir.TopicsTest do      end    end +  describe "local-public visibility create events" do +    setup do +      activity = %Activity{ +        object: %Object{data: %{"attachment" => []}}, +        data: %{"type" => "Create", "to" => [Pleroma.Web.ActivityPub.Utils.as_local_public()]} +      } + +      {:ok, activity: activity} +    end + +    test "doesn't produce public topics", %{activity: activity} do +      topics = Topics.get_activity_topics(activity) + +      refute Enum.member?(topics, "public") +    end + +    test "produces public:local topics", %{activity: activity} do +      topics = Topics.get_activity_topics(activity) + +      assert Enum.member?(topics, "public:local") +    end + +    test "with no attachments doesn't produce public:media topics", %{activity: activity} do +      topics = Topics.get_activity_topics(activity) + +      refute Enum.member?(topics, "public:media") +      refute Enum.member?(topics, "public:local:media") +    end +  end +    describe "public visibility create events with attachments" do      setup do        activity = %Activity{ @@ -175,6 +205,29 @@ defmodule Pleroma.Activity.Ir.TopicsTest do      end    end +  describe "local-public visibility create events with attachments" do +    setup do +      activity = %Activity{ +        object: %Object{data: %{"attachment" => ["foo"]}}, +        data: %{"type" => "Create", "to" => [Pleroma.Web.ActivityPub.Utils.as_local_public()]} +      } + +      {:ok, activity: activity} +    end + +    test "do not produce public:media topics", %{activity: activity} do +      topics = Topics.get_activity_topics(activity) + +      refute Enum.member?(topics, "public:media") +    end + +    test "produces public:local:media topics", %{activity: activity} do +      topics = Topics.get_activity_topics(activity) + +      assert Enum.member?(topics, "public:local:media") +    end +  end +    describe "non-public visibility" do      test "produces direct topic" do        activity = %Activity{object: %Object{data: %{"type" => "Note"}}, data: %{"to" => []}}  | 
