diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2019-11-14 16:39:45 +0700 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2019-11-14 16:39:45 +0700 |
commit | 3c0abfca53751624ebd6ea7174ee880d9e7b29e7 (patch) | |
tree | ba16c5af44532a9b76640f1f48651c90d1be8a6f /test/web/streamer | |
parent | 768c1a5de172151beb34e6dda13d4fb05e05ed87 (diff) | |
parent | 6085c71bd17e2b676e0820bf3fd93f81a1902ac3 (diff) | |
download | pleroma-3c0abfca53751624ebd6ea7174ee880d9e7b29e7.tar.gz pleroma-3c0abfca53751624ebd6ea7174ee880d9e7b29e7.zip |
Merge remote-tracking branch 'upstream/develop' into feature/move-activity
Diffstat (limited to 'test/web/streamer')
-rw-r--r-- | test/web/streamer/streamer_test.exs | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/test/web/streamer/streamer_test.exs b/test/web/streamer/streamer_test.exs index cb1015171..80a7541b2 100644 --- a/test/web/streamer/streamer_test.exs +++ b/test/web/streamer/streamer_test.exs @@ -7,6 +7,7 @@ defmodule Pleroma.Web.StreamerTest do import Pleroma.Factory + alias Pleroma.Conversation.Participation alias Pleroma.List alias Pleroma.User alias Pleroma.Web.CommonAPI @@ -110,6 +111,24 @@ defmodule Pleroma.Web.StreamerTest do Streamer.stream("user:notification", notif) Task.await(task) end + + test "it sends follow activities to the 'user:notification' stream", %{ + user: user + } do + user2 = insert(:user) + task = Task.async(fn -> assert_receive {:text, _}, 4_000 end) + + Streamer.add_socket( + "user:notification", + %{transport_pid: task.pid, assigns: %{user: user}} + ) + + {:ok, _follower, _followed, _activity} = CommonAPI.follow(user2, user) + + # We don't directly pipe the notification to the streamer as it's already + # generated as a side effect of CommonAPI.follow(). + Task.await(task) + end end test "it sends to public" do @@ -463,7 +482,14 @@ defmodule Pleroma.Web.StreamerTest do task = Task.async(fn -> - assert_receive {:text, _received_event}, 4_000 + assert_receive {:text, received_event}, 4_000 + + assert %{"event" => "conversation", "payload" => received_payload} = + Jason.decode!(received_event) + + assert %{"last_status" => last_status} = Jason.decode!(received_payload) + [participation] = Participation.for_user(user) + assert last_status["pleroma"]["direct_conversation_id"] == participation.id end) Streamer.add_socket( @@ -480,7 +506,7 @@ defmodule Pleroma.Web.StreamerTest do Task.await(task) end - test "it doesn't send conversation update to the 'direct' streamj when the last message in the conversation is deleted" do + test "it doesn't send conversation update to the 'direct' stream when the last message in the conversation is deleted" do user = insert(:user) another_user = insert(:user) |