logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: a5424c3681a537e08fa1333ee9749ab22fd3ece0
parent c24e222887808ea7e2080ad54dea340212a5e9df
Author: Mark Felder <feld@feld.me>
Date:   Sat,  8 Jun 2024 13:08:06 -0400

Test that end of poll notifications are streamed over websockets

Diffstat:

Mtest/pleroma/notification_test.exs27+++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)

diff --git a/test/pleroma/notification_test.exs b/test/pleroma/notification_test.exs @@ -5,6 +5,7 @@ defmodule Pleroma.NotificationTest do use Pleroma.DataCase, async: false + import Mock import Pleroma.Factory alias Pleroma.FollowingRelationship @@ -183,9 +184,31 @@ defmodule Pleroma.NotificationTest do {:ok, _, _} = CommonAPI.vote(user2, question, [0]) {:ok, _, _} = CommonAPI.vote(user3, question, [1]) - {:ok, notifications} = Notification.create_poll_notifications(activity) + with_mocks([ + { + Pleroma.Web.Streamer, + [], + [ + stream: fn _, _ -> nil end + ] + }, + { + Pleroma.Web.Push, + [], + [ + send: fn _ -> nil end + ] + } + ]) do + {:ok, notifications} = Notification.create_poll_notifications(activity) + + Enum.each(notifications, fn notification -> + assert called(Pleroma.Web.Streamer.stream(["user", "user:notification"], notification)) + assert called(Pleroma.Web.Push.send(notification)) + end) - assert [user2.id, user3.id, user1.id] == Enum.map(notifications, & &1.user_id) + assert [user2.id, user3.id, user1.id] == Enum.map(notifications, & &1.user_id) + end end describe "create_notification" do