summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2024-06-08 13:08:06 -0400
committerMark Felder <feld@feld.me>2024-06-08 13:08:28 -0400
commita5424c3681a537e08fa1333ee9749ab22fd3ece0 (patch)
treedb738a43e182d5f39a773d100bac706ae442d9b8
parentc24e222887808ea7e2080ad54dea340212a5e9df (diff)
downloadpleroma-a5424c3681a537e08fa1333ee9749ab22fd3ece0.tar.gz
pleroma-a5424c3681a537e08fa1333ee9749ab22fd3ece0.zip
Test that end of poll notifications are streamed over websockets
-rw-r--r--test/pleroma/notification_test.exs27
1 files changed, 25 insertions, 2 deletions
diff --git a/test/pleroma/notification_test.exs b/test/pleroma/notification_test.exs
index 2c582c708..02ae06c63 100644
--- 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