diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/streamer_test.exs | 38 | 
1 files changed, 38 insertions, 0 deletions
diff --git a/test/web/streamer_test.exs b/test/web/streamer_test.exs index 4633d7765..8f56e7486 100644 --- a/test/web/streamer_test.exs +++ b/test/web/streamer_test.exs @@ -65,6 +65,44 @@ defmodule Pleroma.Web.StreamerTest do        Streamer.stream("user:notification", notify)        Task.await(task)      end + +    test "it doesn't send notify to the 'user:notification' stream when a user is blocked", %{ +      user: user +    } do +      blocked = insert(:user) +      {:ok, user} = User.block(user, blocked) + +      task = Task.async(fn -> refute_receive {:text, _}, 4_000 end) + +      Streamer.add_socket( +        "user:notification", +        %{transport_pid: task.pid, assigns: %{user: user}} +      ) + +      {:ok, activity} = CommonAPI.post(user, %{"status" => ":("}) +      {:ok, notif, _} = CommonAPI.favorite(activity.id, blocked) + +      Streamer.stream("user:notification", notif) +      Task.await(task) +    end + +    test "it doesn't send notify to the 'user:notification' stream when a thread is muted", %{ +      user: user +    } do +      user2 = insert(:user) +      task = Task.async(fn -> refute_receive {:text, _}, 4_000 end) + +      Streamer.add_socket( +        "user:notification", +        %{transport_pid: task.pid, assigns: %{user: user}} +      ) + +      {:ok, activity} = CommonAPI.post(user, %{"status" => "super hot take"}) +      {:ok, activity} = CommonAPI.add_mute(user, activity) +      {:ok, notif, _} = CommonAPI.favorite(activity.id, user2) +      Streamer.stream("user:notification", notif) +      Task.await(task) +    end    end    test "it sends to public" do  | 
