Merge branch 'develop' into refactor/notification_settings
[akkoma] / test / web / streamer / streamer_test.exs
index 893ae5449e9149ed932702c517670930d4e9a398..d56d7446448e10217d9e921d5db896bb05a92fa8 100644 (file)
@@ -8,7 +8,7 @@ defmodule Pleroma.Web.StreamerTest do
   import Pleroma.Factory
 
   alias Pleroma.Chat
-  alias Pleroma.ChatMessageReference
+  alias Pleroma.Chat.MessageReference
   alias Pleroma.Conversation.Participation
   alias Pleroma.List
   alias Pleroma.Object
@@ -116,6 +116,35 @@ defmodule Pleroma.Web.StreamerTest do
       refute Streamer.filtered_by_user?(user, announce)
     end
 
+    test "it does not stream announces of the user's own posts in the 'user' stream", %{
+      user: user
+    } do
+      Streamer.get_topic_and_add_socket("user", user)
+
+      other_user = insert(:user)
+      {:ok, activity} = CommonAPI.post(user, %{status: "hey"})
+      {:ok, announce} = CommonAPI.repeat(activity.id, other_user)
+
+      assert Streamer.filtered_by_user?(user, announce)
+    end
+
+    test "it does stream notifications announces of the user's own posts in the 'user' stream", %{
+      user: user
+    } do
+      Streamer.get_topic_and_add_socket("user", user)
+
+      other_user = insert(:user)
+      {:ok, activity} = CommonAPI.post(user, %{status: "hey"})
+      {:ok, announce} = CommonAPI.repeat(activity.id, other_user)
+
+      notification =
+        Pleroma.Notification
+        |> Repo.get_by(%{user_id: user.id, activity_id: announce.id})
+        |> Repo.preload(:activity)
+
+      refute Streamer.filtered_by_user?(user, notification)
+    end
+
     test "it streams boosts of mastodon user in the 'user' stream", %{user: user} do
       Streamer.get_topic_and_add_socket("user", user)
 
@@ -155,7 +184,7 @@ defmodule Pleroma.Web.StreamerTest do
       {:ok, create_activity} = CommonAPI.post_chat_message(other_user, user, "hey cirno")
       object = Object.normalize(create_activity, false)
       chat = Chat.get(user.id, other_user.ap_id)
-      cm_ref = ChatMessageReference.for_chat_and_object(chat, object)
+      cm_ref = MessageReference.for_chat_and_object(chat, object)
       cm_ref = %{cm_ref | chat: chat, object: object}
 
       Streamer.get_topic_and_add_socket("user:pleroma_chat", user)
@@ -173,7 +202,7 @@ defmodule Pleroma.Web.StreamerTest do
       {:ok, create_activity} = CommonAPI.post_chat_message(other_user, user, "hey cirno")
       object = Object.normalize(create_activity, false)
       chat = Chat.get(user.id, other_user.ap_id)
-      cm_ref = ChatMessageReference.for_chat_and_object(chat, object)
+      cm_ref = MessageReference.for_chat_and_object(chat, object)
       cm_ref = %{cm_ref | chat: chat, object: object}
 
       Streamer.get_topic_and_add_socket("user", user)