Test that end of poll notifications are streamed over websockets

This commit is contained in:
Mark Felder 2024-06-08 13:08:06 -04:00
parent c24e222887
commit a5424c3681

View File

@ -5,6 +5,7 @@
defmodule Pleroma.NotificationTest do defmodule Pleroma.NotificationTest do
use Pleroma.DataCase, async: false use Pleroma.DataCase, async: false
import Mock
import Pleroma.Factory import Pleroma.Factory
alias Pleroma.FollowingRelationship alias Pleroma.FollowingRelationship
@ -183,10 +184,32 @@ defmodule Pleroma.NotificationTest do
{:ok, _, _} = CommonAPI.vote(user2, question, [0]) {:ok, _, _} = CommonAPI.vote(user2, question, [0])
{:ok, _, _} = CommonAPI.vote(user3, question, [1]) {:ok, _, _} = CommonAPI.vote(user3, question, [1])
with_mocks([
{
Pleroma.Web.Streamer,
[],
[
stream: fn _, _ -> nil end
]
},
{
Pleroma.Web.Push,
[],
[
send: fn _ -> nil end
]
}
]) do
{:ok, notifications} = Notification.create_poll_notifications(activity) {: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
end
describe "create_notification" do describe "create_notification" do
test "it disables notifications from strangers" do test "it disables notifications from strangers" do